CodeForces
文章平均质量分 65
sky-edge
这个作者很懒,什么都没留下…
展开
-
CF 558B Amr and The Large Array(暴力法)
B. Amr and The Large Arraytime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAmr has got a large array of size原创 2015-07-15 09:31:05 · 744 阅读 · 0 评论 -
Codeforces #345 Div2 C Watchmen 容斥
给你n个点的坐标(x,y)。求哈密顿距离和欧几里德距离相同的点对有多少,所给的点可能是重合的。哈密顿距离:|xi-xj|+|yi-yj|,欧几里德距离:根号下((xi-xj)^2+(yi-yj)^2)。把两边平方一下,再一消去,就可发现,只有当(xi-xj)和(yi-yj)至少有一个为0时,两种距离才相等,就是两个点的横纵坐标至少有一个是一样的。所以,因为有重点,就显得有点麻烦,但其实想了原创 2016-03-08 17:51:03 · 345 阅读 · 0 评论 -
CodeForces Gym 100989A LCS (A)
水题#include #include #include #include #include #include #include using namespace std;#define ll long longint main(){ //freopen("input.txt", "r", stdin); //freopen("output.txt", "w", stdo原创 2016-07-14 18:06:45 · 393 阅读 · 0 评论 -
CodeForces Gym 100989C 1D Cafeteria (A)
水题#include #include #include #include #include #include #include using namespace std;#define ll long longint N;int A, B;int main(){ //freopen("input.txt", "r", stdin); //freopen("outpu原创 2016-07-14 18:07:42 · 359 阅读 · 0 评论 -
CodeForces Gym 100989E Accepted Passwords
水题,分类讨论,模拟一下就行#include #include #include #include #include #include #include using namespace std;char A[105], B[105];int n1, n2;int main(){ //freopen("input.txt", "r", stdin); scanf("%s原创 2016-07-14 18:08:46 · 420 阅读 · 0 评论 -
CodeForces Gym 100989F Mission in Amman (A)
水题,按要求玩就行#include #include #include #include #include #include #include using namespace std;#define maxn 100005int N, M, Q;int student[maxn], place[maxn];int main(){ //freopen("input.tx原创 2016-07-14 18:09:43 · 593 阅读 · 0 评论 -
CodeForces Gym 100989H Queue (A)
也是水题,按要求 玩就行#include #include #include #include #include #include #include using namespace std;#define ll long long#define maxn 100005int N;int K[maxn];const int value[5] = { 1, 5, 10, 2原创 2016-07-14 18:10:58 · 430 阅读 · 0 评论 -
CodeForces Gym 100989L Plus or Minus (A) DFS
水题,DFS暴搜一发就行#include #include #include #include #include #include #include using namespace std;#define ll long long#define maxn 100005int N;int num[22];ll numsum[22];int initsign[22];i原创 2016-07-14 18:12:25 · 377 阅读 · 0 评论 -
CodeForces Gym 100989B LCS (B)
给一个算LCS时得到的DP矩阵,然后根据这个矩阵让你算出两个符合条件的字符串因为字符串长度或者不用并查集,每次遇到这 个问题时,就把AB字符串都扫一遍,遇到要改的改掉就行,反正长度 25,随便搞#include #include #include #include #include #include #include using namespace std;#d原创 2016-07-14 18:16:33 · 593 阅读 · 0 评论 -
CodeForces Gym 100989J Objects Panel (A)
水题,文件夹的展开折叠操作,是一个树,递归输出就行,数据应该是有点小问题,可能会出现 + 0,这样的情况,所以先判0再判+-#include #include #include #include #include #include #include using namespace std;#define ll long longint child[102][102];int原创 2016-07-14 18:18:25 · 413 阅读 · 0 评论 -
CodeForces Gym 100989D 1D Cafeteria (B) SET
读懂题之后就简单很多,就是一个pair,然后用set维护就行#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define maxn 100005int N, Q;int num[maxn];s原创 2016-07-14 18:19:47 · 551 阅读 · 0 评论 -
Codeforces #345 Div2 B Beautiful Paintings 构造/结论
给你n个数(n这个题怎么做很显然,就是不断地区构造严格递增子序列。但是怎么构造我想了好久,最终当时想了一个方法,就是用num[i]表示i这个数出现了几次,即每读进来一个数t,就num[t]++,然后再有一个cnt数组,cnt[i]表示出现次数>=i的数字有多少个,cnt[i]的构造方法也简单,每读进来一个数t,先num[t]++,然后再cnt[num[t]]++,如此这样下来,cnt[原创 2016-03-08 17:42:08 · 446 阅读 · 0 评论 -
Codeforces #345 Div.2 A Joysticks 暴力模拟
有两个操纵杆,和他们的初始电量,和一个充电器,但充电器在每一分钟内只能给一个操纵杆充电,操纵杆如果被充电,一分钟会增加1%的电量,如果没被充电,一分钟会消耗2%的电量,充电器的电量是无限的,操纵杆的电量也可超过100%,当一个操纵杆电量只剩1%且下一分钟不被充电的话,就使用完毕了,或者当一个操纵杆的电量到达0%,则自动使用完毕。给两个初始电量a1,a2,求最长使用时间。题解,想了想,其实中原创 2016-03-08 17:17:33 · 293 阅读 · 0 评论 -
小紫书 习题 3-2(UVA 1586) 分子量(Molar mass)
AC代码:#include #include #include #include #include using namespace std;char word[1000];double sum=0;int flag=0,cnt=0;double m[5]={0,12.01,1.008,16.00,14.01};//0CHNOvoid compute(char a){原创 2015-08-03 00:01:33 · 467 阅读 · 0 评论 -
Codeforces 602A Two Bases
A. Two Basestime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputAfter seeing the "ALL YOUR BASE ARE BELONG TO US" meme fo原创 2015-11-26 00:05:28 · 759 阅读 · 0 评论 -
CF 334 div.2-C/div.1-A/603A Alternative Thinking
题目链接:http://codeforces.com/problemset/problem/603/A题意大概是:给你一个01位串的长度和这个01位串,他想要的是这个串的一个不连续而且任意两个相邻元素都不同的子串的长度,他能对这个位串做一次操作,就是选取其中任意连续的一段(可以选取整个串),然后将它们逐一取反,求他能得到的最大的那个子串长度。解法参考:http://codeforces.c原创 2015-12-03 23:26:00 · 566 阅读 · 0 评论 -
CF 334 div.2-D/div.1-B/603B Moodular Arithmetic
orz先贴代码,有时间再写题解题目链接:http://codeforces.com/problemset/problem/603/B#include #include #include #include using namespace std;#define mod 1000000007long long fastpow(long long a, long long b,lon原创 2015-12-07 01:00:51 · 437 阅读 · 0 评论 -
CF 335 div.2-A/606A Magic Spheres(读错题意系列)
题目链接:http://codeforces.com/problemset/problem/606/A题意:有蓝、紫、橙三种颜色的小球,已知各有a,b,c个,现在想要得到至少x,y,z个,其中有一个转换规则,就是消耗两个相同颜色的小球可以得到一个其他颜色的小球。解:首先,读错题意系列,如果a>x&&b>y&&c>z的话,就是Yes。否则,如果有一种颜色有少的,假设一共少m个,就是说,至原创 2015-12-10 19:25:20 · 461 阅读 · 0 评论 -
CF 335 div.2-B/606B Testing Robots(读不懂题系列)
题目链接:http://codeforces.com/problemset/problem/606/B题意:花了好久才读懂,感觉好反人类。。。大概意思是:给定一个x*y的矩形,和一个机器人的初始位置(x0,y0)。以向下为x轴正方向,向右为y轴正方向。现在要对这个机器人进行多次测试。每次测试,会在矩形的某个位置有一个矿井。所以一共要进行x*y次测试,每次测试,矿井会出现在一个之前的测试没有出现原创 2015-12-10 23:07:10 · 744 阅读 · 0 评论 -
CF 335 div.2-C/div.1-A/605A Sorting Railway Cars
题目链接:http://codeforces.com/problemset/problem/605/A题目大意:在一条路上有序号为1-n的n辆车以任意顺序放着,现在要对这些车以升序进行排序,每次移动可以将一辆车取出来放到最前面或者最后面,现在问想要完成排序的最少移动次数。解:一辆一辆地取出来相当于把所有要取的取出来,然后按一定顺序往序列里放,所以,我们先把所有要取的取出来,原创 2015-12-17 20:17:08 · 729 阅读 · 0 评论 -
CF 335 div.1-B/div.2-D/605 B Lazy Student
题目链接:http://codeforces.com/problemset/problem/605/B题目大意:有一个网(加权图),无向,无环,给出你他的顶点个数n(2解:都有点不太想写,这套题都是构造题0.0,没有完全的构造出来,最后还是看的题解。假设有两个顶点集U和V,初始时,U中只有1号顶点,V中有其他的顶点。先将所有的边按升序排序,权值一样的话将属于MST的排到前面,然后从原创 2015-12-18 14:08:01 · 544 阅读 · 0 评论 -
CodeForces Manthan, Codefest 16 A Ebony and Ivory 扩展欧几里德(其实暴力直接搞就可以)
求是否存在两个非负系数x,y,使得ax+by=c。a,b属于[1,100],c属于[1,10000]。扩展欧几里德求不定方程代码:#include #include #include #include #include #include #include using namespace std;int gcd(int a, int b)//普通方法{ int m,原创 2016-02-27 19:49:33 · 426 阅读 · 0 评论 -
CodeForces Manthan, Codefest 16 B A Trivial Problem 二分
被cmath里的pow函数坑了,,,不明白为什么。。。找到了那个WA的test,我的VS2013运行就没问题,但是在评测机上就有问题。。。官方的思路是二分,不过我的不是,,,有时间再贴讲解吧,,感觉我的思路也没什么意思代码:#include #include #include #include #include #include #include #inclu原创 2016-02-29 00:59:45 · 391 阅读 · 0 评论 -
CodeForces Gym 100989G Mission in Amman (B) 二分答案
答案满足单调性,所以二分答案去搞就行#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define maxn 100005ll num[maxn];ll M, K;ll work(ll tmp)原创 2016-07-14 18:21:12 · 480 阅读 · 0 评论 -
CodeForces Gym 100114B
水题,暴力扫一遍就行#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define maxn 100005const int dx[4] = { 0, 0, 1, -1 };const int d原创 2016-07-14 18:36:43 · 294 阅读 · 0 评论 -
CodeForces Gym 100646C LCR
模拟就行,要注意的地方就是,加入当前的操作数比这个人手里的卡片数少,那直接结束,这个人就是下一个该操作的人,如果当前操作序列空了,但是这个人正好有0张卡牌,那也继续的,因为这个人会被跳过判断,直到下一个手里有牌的人为止简单说,下一个位置就是,假如当前剩余操作数为x,那个人手里有y张卡牌,就是x#include #include #include #include #include原创 2016-07-22 00:01:34 · 370 阅读 · 0 评论 -
CodeForces Gym 100646D Party Party Party 贪心
类似于活动安排问题,只不过活动安排问题是一个时间里只能安排一个活动,它这个是一个时间里最多能安排两个活动方法一样,按右端点升序排序,然后从前往后贪心就行,如果每个时间点能安排的活动数不一样,就是网络流或者二分图匹配了#include #include #include #include #include #include #include #include #include原创 2016-07-22 00:03:58 · 295 阅读 · 0 评论 -
CodeForces Gym 100646E Su-Su-Sudoku
有一个未完成的数独游戏,问你能否完成,能就输出一种方案因为未填的只有5个格子,每个格子都从1-9枚举,然后判就行我开始时是通过9个数相加为45判的,结果WA,看来是给的可能本身就已经不合法,所以要判断这9个数是否都有,开个bool数组就行#include #include #include #include #include #include #include #incl原创 2016-07-22 00:06:37 · 696 阅读 · 0 评论 -
CodeForces Gym 100646G The Worm Turns DFS
就是有一个矩阵,每个点要么有食物,要么是石头 ,然后有个人会从某一个点沿着某个方向吃食物,当下个地方不能走时它会向左或者向右转,他也不会再走已经走过的点,然后问他从哪里开始吃能吃到最多食物就暴力枚举每个点以及四个方向,但是因为下个地方不能走时他既能向左又能向右,所以两个方向都有走,所以要DFS去搜所有情况,然后每个点每个方向都DFS一次就行#include #include #incl原创 2016-07-22 00:10:48 · 299 阅读 · 0 评论 -
CodeForces Gym 100646H You’ll be Working on the Railroad DFS
就是给你一个图,保证0号点和1号点是连通的,让你求一个简单最短路径,但是最短路是这样定义的假如只经过了一条边,路径长度就是这条边的长度假如经过了两条边,路径长度就是这两个的最小值假如经过了>=3条边,路径长度就是所有边的和,再减去所有边中最大的那两个然后,可以DP去做,先预处理出边数=3的方案,或者,直接DFS就行,44KB,31MS,快的飞起#include #incl原创 2016-07-22 00:14:07 · 370 阅读 · 0 评论 -
CodeForces Gym 100735B 矩阵快速幂
先给出你前N个数来,a1,a2,a3,,,,an再给出C个数,k1,k2,,,kc,C然后对于后面的数,第i个数为ai=a(i-k1)+a(i-k2)+...+a(i-kc),然后让你求第M个数,M这个通项公式显然是很类似斐波那契数的,斐波那契可以通过矩阵去求,这个显然也可以,然后就是构造出那样一个矩阵来,矩阵快速幂就行#include #include #include原创 2016-07-22 00:19:34 · 449 阅读 · 0 评论 -
CodeForces Gym 100735C BFS
就是一个迷宫,然后A可以自己选择去走,但是卫士在A走后会根据A的位置去走,问A能不能拿到那个护身符,假如A拿到后下一步就被卫士干死,也是认为他不能拿到的就BFS让A走,然后卫士就根据A去模拟就行,状态记录就是walk[ra][ca][rg][cg],表示 A和卫士各自在的位置,然后就BFS跑就行,只是挺烦的,就错了一个地方,&&改成||就能AC,然后以为自己错误很多就没去查,,,,简直智障原创 2016-07-22 00:22:57 · 489 阅读 · 0 评论 -
CodeForces Gym 100735D
就是给你N个木棍,问他们能拼成多少个三角形就从小到大排序,然后贪心地取就行#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define ll long longll num[原创 2016-07-22 00:24:56 · 497 阅读 · 0 评论 -
CodeForces Gym 100735E
给你一个矩阵,他们本来是,每行,每列,两条对角线,的和都是一样的,现在把主对角线的元素都挖去,让你求主对角线上各是什么以5*5举例吧,假设为a,b,c,d,e,每行的和是sum,然后将所有行加起来就有,a+b+c+d+e+4sum=5sum,然后sum就能求出来,然后根据 每行和为sum,所以每行的那个未知数就能求出来,然后就可以了#include #include #include原创 2016-07-22 00:28:29 · 594 阅读 · 0 评论 -
CodeForces Gym 100735G
就是说,给你一个长度N,和一个长度为N的01串A,然后问你假设B可以是任意一个长度为N的01串,问你A和B的最长公共子序列的长度是多少感觉一下,然后就是统计A的0的个数和1的个数,较少的那个就是答案#include #include #include #include #include #include #include #include #include using n原创 2016-07-22 00:30:45 · 546 阅读 · 0 评论 -
CodeForces Gym 100735G 二分图匹配
就是给你一个字符串,和一些正方体,每个正方体的六个面上都标有字母或者数字,然后问你能否选一些正方体,通过某种摆放,使得他们摆成一排后组成的那个字符串据说是裸的二分图匹配,但是我这种智障就是没看出裸来啊,果然图论题做的太少太少,然后看别人代码又短又快,总以为是暴力,然后题意也没说这些正方体可以怎么操作,迷的一笔还是说下方法吧,字符串的每个字符为左边的点,每个 正方体为右边的 点,然后对于坐标原创 2016-07-21 01:01:41 · 640 阅读 · 0 评论 -
CodeForces 589B Layer Cake
我是很蠢的写法,就是暴力枚举,枚举每个宽,然后对于每个宽,枚举长,然后记录最大值就行,n^2logn的复杂度,竟然300+ms就跑完了,不可思议#include #include #include #include #include #include #include #include #include #include #include using namespace原创 2016-07-18 21:02:42 · 435 阅读 · 0 评论 -
CodeForces Gym 100803A 模拟,贪心
模拟,贪心的搞,从第一位开始,如果需要交换就从后面找个最近的交换就行#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define maxn 100005int N, M;int s1[20];原创 2016-07-14 18:37:57 · 651 阅读 · 0 评论 -
CodeForces Gym 100114C 打表
打表,发现规律,有周期性#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define maxn 100005int num[30] = { 1, 2, 4, 8, 16, 23, 46, 29,原创 2016-07-15 17:58:16 · 349 阅读 · 0 评论 -
CodeForces 631C
设t时间最短,建方程,一元二次方程 ,分情况讨论最小值就行#include #include #include #include #include #include #include #include #include using namespace std;#define ll long long#define maxn 9999999#define eps 1e-6原创 2016-07-15 17:59:07 · 291 阅读 · 0 评论