入门:www.noi.openjudge.com 经典noi judge官网 www.luogu.com.cn 经典落谷 刷题:nanti.jisuanke.com/acm 计蒜客 www.usaco.org/ usaco,知名美国竞赛网站 acm.hdu.edu.cn 杭电 oj poj.org 北大oj www.cspro.org csp官方题库 比赛:codeforces.co
Lintcode.com——LintCode网站是国内较大的在线编程&测评网站。此网站提供各大IT公司的算法面试题类型,行分门别类,由简单到中等,再到难,便于不同水平的程序员进行刷题练习。同时网站支持多种语言(Java, Python, C++),方便不同语言特长的程序员利用擅长语言进行刷题练习。因此对于不同编程能力水平、不同职位需求的人来说都是非常有用的刷题网站。
Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。
个人博客:doubleq.win 1487 大批整数排序 时间限制: 3 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description !!!CodeVS开发者有话说: codevs自从换了评测机,新评测机的内存计算机制发生变化 计算内存的时候会包括栈空间 swap空间 这题的2M是单指内存空间。。。 十分十分抱歉 抱歉 !!! 现在有一大批(总数不超过10000000个)1到10
实现功能为二分图匹配 原理:匈牙利算法,核心思想——匹配上了就配,没直接匹配上也要通过前面的腾出位置让这个匹配上(详见:趣写算法系列之——匈牙利算法) 本程序以Codevs2776为例 详见Codevs2776 1 type 2 point=^node; 3 node=record 4 g:longint; 5 next:point; 6 end; 7 var 8 i,j,k,l,m,n:longint
常用OJ名字+地址 不定期更新,自己用,有补充的也可以给我说说哈。 中文 openjudge 地址:openjudge.cn 说明:北大提供的一个平台,学校可申请小组; 比较好的小组: 计算概论:ica.openjudge.cn noi小组:noi.openjudge.cn tyvj 地址:http://www.tyvj.cn/ 老OJ,现在基本属于清北学堂了 codevs 地址:http://codevs.cn/ 原来的wikioi,模仿usaco的天梯,有云评测 rqnoj 地址:http:
实现功能:同之前 可以看见的是这次的程序优美了许多,代码简短了一倍还多,可是速度却是和原来的邻接表一个级别的(在Codevs上面草地排水那题的运行时间比较,但是显然数据很大时应该比那个慢些),原理差不多,感觉dfs里面的来回倒变量很神奇 1 var 2 s,t,i,j,k,l,m,n,ans:longint; 3 a:array[0..1000,0..1000] of longint; 4 d,dv:array[0..10000] of longint; 5 function m
大家都知道,Notepad++ 是 Windows 系统上用的比较多的一款编辑器,之前就频频作妖被广大程序员抵制,不知道哪里来的底气,最近 Notepad++ 又开始作妖了:
实现功能:首行输入N,M,S,T,代表这张图N个点,M条边,源点为S,汇点为T;接下来T行输入个边的出发点、终点和权值;输出最大流 原理:sap网络流算法(详见百度百科,个人觉得这个模板已经不错了,虽然本人暂时还未考虑引入邻接表进行优化)(推荐模板题:Codevs1993) 1 var 2 i,j,k,l,m,n,ans,aug,s,t,tmp,jl,mi:longint; 3 flag:boolean; 4 vh,dis,di,his,pre:array[0..10000] of
3411 洪水 CodeVS原创 时间限制: 1 s 空间限制: 64000 KB 题目等级 : 青铜 Bronze 题解 查看运行结果 题目描述 Description 小浣熊松松和朋友到野外露营,没想到遇上了π年一次的大洪水,好在松松是一只爱观察的小浣熊,他发现露营地的地形和洪水有如下性质: ①露营地可以被看做是一个N*M的矩形方阵,其中左上角坐标为(1,1),右下角坐标为(n,m),每个格子(i,j)都有一个高度h(i,j)。 ②洪水送(r,c)开始,如果一个格子被洪水淹没,那这个格子四
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。
实现功能:求出二维平面内一对散点的凸包(详见Codevs 1298) 很神奇的算法——先将各个点按坐标排序,然后像我们所知的那样一路左转,求出半边的凸包,然后反过来求另一半的凸包 我以前正是因为总抱着想一步到位的想法,所以每次都跪得很惨(HansBug:事实上这次是我这辈子第一次A掉凸包题) 然后别的没了,就是凸包的基本思想 (顺便输出凸包周长C和面积S) 1 type arr=array[0..100005] of longint; 2 var 3 i,j,k,l,m,n,m1,m2:long
(dropping.cpp/c/pas) Description HKD 看学弟学妹们学习辛苦,决定给发零食吃 HKD 是土豪,所以他决定买零食的时候,从 1 块钱的开始买,然后买 2 块钱的,然后 3 块钱 的,……,直至 D 块钱的。而且 k 块钱的零食买 2^(k-1)个。 但 HKD 从来不吃零食,所以他不知道他买的零食是否好吃。 于是他把所有零食编号,怎么编呢? 对于价钱为 k 的零食,从 1 开始编,然后 2,3,编到 2^(k-1) 例:1 块钱的:1 2 块钱的:1 2 3 块钱的:1 2
★★ 输入文件:nt2011_sequence.in 输出文件:nt2011_sequence.out 简单对比 时间限制:0.3 s 内存限制:512 MB 【试题来源】 2011中国国家集训队命题答辩 【问题描述】 给一个1到N的排列{Ai},询问是否存在 ,使得 是一个等差序列。 【输入格式】 输入的第一行包含一个整数T,表示组数。 下接T组数据,每组第一行一个整数N,每组第二行为一个1到N的排列,数字两两之间用空格隔开。 【输出格式】 对于每组数据,如果存在一个等差子序列,则输出一行
2953: [Poi2002]商务旅行 Time Limit: 3 Sec Memory Limit: 128 MB Submit: 8 Solved: 8 [Submit][Status] Description 某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间。 假设有N个城镇,首都编号为1,商人从首都出发,其他各城镇之间都有道路连接,任意两个城镇之间如果有直连道路,在他们之间行驶需要花费单位时间。该国公路网络发达,从首都出发能到达任意一个城镇,并且公路网络不会
经过我测试,Bing是唯一不把AV女演员放最前面的搜索引擎,不过谷歌也是。。。合着就咱们的浏览器干这事。
2822 爱在心中 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description “每个人都拥有一个梦,即使彼此不相同,能够与你分享,无论失败成功都会感动。爱因为在心中,平凡而不平庸,世界就像迷宫,却又让我们此刻相逢Our Home。” 在爱的国度里有N个人,在他们的心中都有着一个爱的名单,上面记载着他所爱的人(不会出现自爱的情况)。爱是具有传递性的,即如果A爱B,B爱C,则A也爱C。 如果有这样一部分人,他们彼此都相爱,则他们就超越了一
乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。
DFS 1 #include<iostream> 2 #include<queue> 3 #include<cstdio> 4 using namespace std; 5 queue<int>q; 6 int map[1001][1001]; 7 int vis[1001]; 8 int n,m; 9 void bfs(int p) 10 { 11 q.push(p); 12 vis[p]=1; 13 printf("%c-->",char(q.front(
数学家们喜欢各种类型的有奇怪特性的数。例如,他们认为945是一个有趣的数,因为它是第一个所有约数之和大于本身的奇数。
七夕节因牛郎织女的传说而被扣上了「情人节」的帽子。于是TYVJ今年举办了一次线下七夕祭。Vani同学今年成功邀请到了cl同学陪他来共度七夕,于是他们决定去TYVJ七夕祭游玩。
博主是一个逗逼的高中生,在进行noip训练的时候遇到这一题,当时写了2个多小时 惭愧啊惭愧, 只能感叹一声普及组好可怕!!! 然而这题在code.vs里只有黄金。。。 我现在很怀疑自己是怎么做出那些大师题的。。。 原题链接在此: http://codevs.cn/problem/1133/ 好了,现在我们来分析一下这个题目。 这个题目中读入的字符串是只有‘*’、‘+’、‘(‘和’)‘的,而左右括号是互相配对的,优先级最高。 因此我们可以在栈中加入左括号的位置,在遇见右括号的时候依次取出栈中的值即可 在计算时有意思的是这个式子中是没有数字的,原题只是需要计算填完数字后值为0的情况总数而已 这个时候一些码农同志们可能就会不考虑复杂度直接开敲 给各个位置都填上数值,最后check。。。 这种人我也是醉了,博主对此不作评价 而正常人在开敲每道题的代码之前总是会总结一些什么的 在这一道题中 如果我们把数对(a,b)当做一个数Si分别为为0、1的情况数 那么很容易可以得出:
题目:搭桥 题目链接:http://codevs.cn/problem/1002/ 题目描述 Description 有一矩形区域的城市中建筑了若干建筑物,如果某两个单元格有一个点相联系,则它们属于同一座建筑物。现在想在这些建筑物之间搭建一些桥梁,其中桥梁只能沿着矩形的方格的边沿搭建,如下图城市1有5栋建筑物,可以搭建4座桥将建筑物联系起来。城市2有两座建筑物,但不能搭建桥梁将它们连接。城市3只有一座建筑物,城市4有3座建筑物,可以搭建一座桥梁联系两栋建筑物,但不能与第三座建筑物联系在一起。
时间限制: 1 s|空间限制: 32000 KB
图论 最短路 SPFA 1 #include<cstdio> 2 #include<queue> 3 #include<cstring> 4 using namespace std; 5 c
1.筛法求素数 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 using namespace std; 6 const int MAXN=10001; 7 int vis[MAXN]; 8 int main() 9 { 10 int n; 11 scanf("%d",&n); 12 for(int i=2;i<=sqrt(n);i++) 13 {
j~ends堆合并 = 较小的(原来, 分割点i坐部分重量 + 分割点i右边部分重量 + 合并后两堆总重量)
领取专属 10元无门槛券
手把手带您无忧上云