
Codeforces
文章平均质量分 64
BehappyXiang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces 9E Interesting Graph and Apples(并查集)
题意:大致就是给你n个点,这n个点之间有m条边相连,问能不能再添加几条边,使这n个点刚好能围成一个圈.因为是无向图,判断能否成一个圈,也就是一个始祖,所以用了并查集。#include #include #include using namespace std;const int mn=55;int degree[mn];//记录顶点的度数int n,m,ansop;int原创 2012-12-18 11:52:22 · 862 阅读 · 0 评论 -
NEFU CF 练习赛 45
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=22283#overviewA题CF69A、B题CF69B没什么好说了,水题了。C题CF69C恶心的模拟.....每次某个玩家买了件装备的时候查看是否满足合成装备的条件,如果满足就更新一下背包,耐心一点就能调试出来。#include #include #inclu原创 2013-04-19 10:49:41 · 893 阅读 · 0 评论 -
codeforces Synchrophasotron (dfs)
比赛时深搜就是写不明白啊,太菜了......记录从源点出发的最大流量和最小流量,再记录到汇点的最大流量和最小流量然后枚举最小流量到最大流量,若当前流量满足到达n点条件,那么就输出minf和maxcost。#include #include #include using namespace std;struct node{ int low,high,cost;} ma原创 2013-04-18 10:02:24 · 744 阅读 · 0 评论 -
Codeforces D. Wormhouse (dfs+剪枝)
思路:从开始点搜,一直搜m条边后,判断一下是否ans[0]和ans[m]都是开始点。暴力不加剪枝果断第10组TLE了。对于每次判断下一个点的时候,如果之前遍历的所有点都是相等的,那么当前下一个点一定要比原路径的点要大或者等于;如果之前遍历的所有点中已经比原路径较大了,那么之后任意取点。本想试试用邻接表的,但是发现邻接表不好表示字典序,邻接矩阵的话,只要一搜到即可跳出,当前路径就是最小字典序路径了,原创 2013-03-28 12:00:49 · 769 阅读 · 0 评论 -
Codeforces 170C Learning Languages (并查集求连通分支)
C. Learning Languagestime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe "BerCorp" company has got n emplo原创 2013-03-01 10:53:04 · 932 阅读 · 0 评论 -
Codeforces 14E Camels (DP)
题意:给你一个数N,从1到N形成t个波峰和t-1个波谷,总共有多少种情况。思路:将问题分解为求2*t-1个转折点,设dp[x][y][t]为当最后一点落在(x,y)上时,出现t个转折点的总数。那么对于当前点有两种情况,他的前一个点到当前点要么高度比他大,要么比他小。若当前点(x,y)之前出现了t个转折点,若t为偶数,也就是说只要前一个点落点在当前点的下方,当前状态要想保持任然只出现偶数t个转折原创 2013-01-18 10:24:21 · 857 阅读 · 0 评论 -
Codeforces 20C Dijkstra?
题意很简单,就是普通的求1到N 的最短路径,但是数据比较大,Nhttp://www.nocow.cn/index.php/Dijkstra%E7%AE%97%E6%B3%95可以到这个网站上学习一下#include #include #include #include #include using namespace std;const int MAXE=200010;原创 2013-01-31 20:59:33 · 1300 阅读 · 0 评论 -
Codeforces 11D A Simple Task (状态压缩DP)
给你N个点和M条边,求当中包含的简单路径的个数。网上看的题解,其实就是求哈密顿回路数,但是是无向图而且至少由三个点组成。http://codeforces.com/blog/entry/337#include #include #include #include using namespace std;typedef long long ll;const ll maxm=1原创 2013-02-01 14:54:45 · 1039 阅读 · 0 评论 -
Codeforces 15C Industrial Nim
C. Industrial Nimtime limit per test2 secondsmemory limit per test64 megabytesinputstandard inputoutputstandard outputThere are n stone quarries in Petrograd.原创 2013-01-16 21:40:19 · 1040 阅读 · 0 评论 -
Codeforces 14D Two Paths
总的来说就是给你标号为1~N个点,然后这N个点之间有N-1条边,首先根据题意看出两两联通,所以N个点N-1条边形成一棵树。问从中分解出两条路径,注意是路径不是树。因为原图是一棵树,那么我们无论删去其中一条边,都能是原图产生两个连通分支,那么所求路径也就包含在这两个连通分支里。问题是要求这两条路径长度的最大乘积(我晕,product原来还有乘积的意思.....)。总共只有200个点,所以可以枚举所有原创 2013-01-14 23:09:26 · 1077 阅读 · 0 评论 -
Codeforces 13C Sequence
题意:给你一串数字,求要使这串数字变成一串非降数列的最小花费思路:看了题解才知道,最后形成的非降数列中的元素一定是存在于原数列里的元素,那么定义两个数组num[i]=b[i],将num从小到大排序。 设dp[i][j]表示前i个原数组数字,用不超过num[j]形成非降数列的最小花费,则可得出状态方程 dp[i][j]=min(dp[i][j-1],原创 2013-01-14 10:37:24 · 724 阅读 · 0 评论 -
Codeforces 12D Ball (树状数组)
题意:给你N个女人的Beauty,Intelect,richness值,女人之间如果Bi思路:对于女人i,想要知道她自不自杀,无非是有没有女人j,使得Bi=lady[i-1].i,再以R值更新树状数组#include #include #define maxn 500005using namespace std;int c[maxn],n,cnt;inline int low原创 2013-01-12 11:05:58 · 966 阅读 · 0 评论 -
Codefoces 13B Letter A (几何)
题意:给你任意的三条线段的坐标,问能否组成合格的A。这里有三条限制:1.任意其中两条必有一个公共点,注意,一定是一个,并且没有公共点的第三条边的两个端点要在那两条有公共边的边上;2.两条有公共点的边的夹角大于0度小于等于90度;3.这两条边被第三条边所划分的,分别各自被划分为两条,其中较长的不能大于较短的4倍。思路:一步一步来,就是每提交一次就WA,然后每想到特殊情况加上特判,很是悲剧啊...原创 2013-01-12 21:35:44 · 1120 阅读 · 2 评论 -
Codeforces 12E Start of the season
题意:给你一个数N,让你输出一个对角线都为0,每行填入1~n-1的数字,每行没有重复的数字,并且矩阵对于对角线对称。思路:对第一行进行从1~n-1初始化,然后对于左上角矩阵初始化,用f[i][j][2]标记第i行或第i列中是否已使用数字j,然后遍历除对角线外没有填字的格子#include #include #include using namespace std;short m原创 2013-01-10 22:04:41 · 614 阅读 · 0 评论 -
Codeforces 300 C Beautiful Numbers (Locas)
思路:首先注意到对于长度为N的数字,他各个位数相加最多不会超过b*n,那么就可以枚举小于等于b*n中由a和b组成的good数gnum,设a*x+b*y=gnum,x和y为所求n位数中a的个数和b的个数,并且x+y=n这样,就可以解得x=(m-b*n)/(a-b).只要有正整数解,就说明存在n位数good数字使得他的各个位数之和等于gnum,也就是说由x个a核y个b组成的数字都是excellent数原创 2013-04-27 20:03:37 · 1518 阅读 · 0 评论