codeforces
YYyyCCCcccBb
觉得为时已晚的时候,恰恰是最早的时候。
展开
-
Codeforces Round #380 B - Spotlights
题意:聚光灯放的位置,如果向左,左边必须有演员,上下右同样,并且这个所放置的位置不能有演员。思路:存行,列矩阵, 拿行举例,行判断左右,从0->当前列求和,如果0当前列,就可以往右放。#include #include using namespace std;int mp[1005][1005];int row[1005][1005];int col[1005][原创 2016-11-21 10:38:05 · 319 阅读 · 0 评论 -
School Marks CodeForces - 540B
题意:n个数字,已经给定k个,数字大小规定从1~P,和不可以超过x,中位数不低于y,求补全的数字思路:中位数小了就填y,大了就填1 #include #include #include #include #include int a[10000]; int ans[10000]; using namespace原创 2016-12-17 14:18:27 · 357 阅读 · 0 评论 -
Codeforces Round #386 Div. 2C - Tram
题意:人从x1走到x2,每t2秒走1米。车的方向是-1 / 1 每t1秒走1米。询问人打到x2最短时间思路分类套路。pos写的时候智障了,-把车速写成人了#include #include #include #include using namespace std;int main(){ int s,x1,x2; cin原创 2016-12-18 21:14:37 · 314 阅读 · 0 评论 -
Timofey and a tree
题意:给出一棵树,N-1条边 每个边的颜色C[i]。询问是否有一个节点作为根,他所有子树的颜色都相同。比赛结束好久了,才补题。心酸。思路:当时没写出来。也是想的是并查集分类,但是搞了90分钟没出。记录下各位博客学的两种比较好的方法方法一:对于两端颜色相同的边不予以判定,而对于颜色不同的边,必定是一个端点作为根进行整合。那么只需要记录下有多少个颜色不同的特殊边,并且对于每种特原创 2017-02-04 23:34:06 · 286 阅读 · 0 评论 -
762C - Two strings
题意:给出a.b两个字符串,要求删除b中某段连续的子串使得得到的b串是a中的子串。询问满足条件的最长的a的子串思路:在网上看了好半天各位的博客,才知道二分竟然能这么用。真是厉害了!将b的删除问题转化:b的前缀 + 删除部分长度+ b的后缀部分预处理:b的前缀串在a中需要的长度b的后缀串在a中需要的长度二分:删除部分的长度(因为二分只能处理线性有序问题),此题无论原创 2017-02-06 03:49:58 · 253 阅读 · 0 评论 -
758C - Unfair Poll
题意:老师按顺序点名,询问提问次数最多,最少的和x,y位置的学生被提问的次数思路:每次以m(2n-2)为一轮,开始二分枚举。之后剩下的暴力枚举#include #include #include #include using namespace std;typedef unsigned long long ll;ll mp[105][105];int main原创 2017-02-06 04:18:36 · 267 阅读 · 0 评论 -
CodeForces 755C PolandBall and Forest
题意:给出第I点到第p i点是最远的,询问有多少个区域。思路简单并查集一遍成!#include #include #include using namespace std;#define maxn 100005int father[maxn];int find(int x){ if(father[x]!=x) father[x]=fin原创 2017-01-16 15:07:52 · 315 阅读 · 0 评论 -
Codeforces Round #393 (Div. 2) Frodo and pillows
题意:孩子分枕头。相邻的不差1.思路:二分#include #include #include #include #include #include #include #include #include #include #include using namespace std;#define ll long long#define inf 0x3f3f3原创 2017-01-23 10:05:26 · 298 阅读 · 0 评论 -
CodeForces - 362D Fools and Foolproof Roads
题意:给定n个城市,m条边,要求必须增加p条路径,实现最后只有q个连通块。注意:在给出数据时加和直接加,在自己添加路径时,连通块更新的和= 连通块a + 连通快b +1 (之后的)+ 连通快a +连通块b(之前的)。真是B了狗了,这个加和没看明白WA36,怼了4个多小时#include #include #include #include using na原创 2017-03-01 21:14:17 · 407 阅读 · 0 评论 -
CodeForces - 441B -Valera and Fruits
题意:给出n个苹果树成熟,每天可以拿v个苹果,苹果只能保存一天思路:尽可能拿剩下的,否则拿今天的#include #include #include #include #include #include #include using namespace std;long long a[30005];int main(){ long long n原创 2016-12-16 21:53:29 · 268 阅读 · 0 评论 -
CodeForces-337B
题意:显示屏的比例和图片的比例,问调整后空白占总显示器的比例思路:对于a/c反之用高调整#include#include using namespace std; int gcd(int x,int y) { return y==0?x:gcd(y,x%y); }int main(){ int a,b,c,d; cin>>a>>b原创 2016-12-16 18:24:23 · 350 阅读 · 0 评论 -
CodeForces - 140C-New Year Snowmen
题意:给出n个数字,要求找出不同的三个数字构成雪人,问最多可以构成多少组这种符合条件的要求思路:优先队列,排序为数字个数#include #include #include #include #include using namespace std;typedef long long ll;int a[100005][5];struct node{ int原创 2016-12-16 15:49:21 · 250 阅读 · 0 评论 -
Codeforces Round #380A - Interview with Oleg
题意:按照题目要求更换***思路:找到ogo 之后所有的找go#include #include using namespace std;char s[1005];char ans[1005];int main(){ int n; cin>>n; cin>>s; int cnt=0; for(int i=0;i<n;) {原创 2016-11-21 10:39:09 · 295 阅读 · 0 评论 -
Codeforces Round #380 C-Road to Cinema
题意:有个人租车,去看电影, 车有价格,和油箱容量,途中有K个加油站,加油不花钱。问这个人最少花多少钱,可以在t分钟之内(包括T)赶到思路: 二分枚举油箱容量,找到一个最小的容量的油箱,可以到达T时间,然后再回去扫一遍所有gas>=这个容量中车的最小价格就是答案感想:自己想的时候感觉很像上一场的C题 魔法药水,如果有印象的可以去翻下, 结果自己智障了,没写二分。一发AC以为原创 2016-11-21 11:07:05 · 363 阅读 · 0 评论 -
Codeforces Round #380-D. Sea Battle
题意:区间里有a艘船,船长为b。区间为n,k是已经打了多少个位置,但是并未打到船,询问最少打几枪,几个位置可以打到船。MD智障题。我比题还蠢。思路:暴力扫一遍。55555555555555#include #include #include using namespace std;#define maxn 200005char s[maxn];int ans[max原创 2016-11-21 12:29:10 · 274 阅读 · 0 评论 -
Codeforces Round #383 (Div. 2)-A. Arpa’s hard exam and Mehrdad’s naive cheat
题意:询问1378的n次 个位数字。注意判0.#include #include #include #include #include using namespace std;typedef long long ll;int main(){ int t; cin>>t; if(t==0) { cout<<1<<endl;原创 2016-12-07 14:45:36 · 332 阅读 · 0 评论 -
Codeforces Round #383 (Div. 2)B -Arpa's loud Owf and Mehrdad's evil plan
题意:给定n个数字 和一个x,接下来有n个数字,问数字两两组合,可以有多少情况 两个数字异或等于x思路:a^b=c ---> b= c^aPS:信心满满的过题,然而把int 开成long long 了。心疼注意0的特判#include #include #include #include #include using namespace std;ty原创 2016-12-07 14:43:19 · 332 阅读 · 0 评论 -
codeforces记录
2016.10.16Codeforces Round #377 (Div. 2)A.B可以过。C题读错题。读完题也不会。F题读完题也不会。等出题解记录题的类型原创 2016-10-16 20:07:27 · 375 阅读 · 0 评论 -
Codeforces Round #383 (Div. 2)C-Arpa's loud Owf and Mehrdad's evil plan
题意:第I位传话给a[i]位置的人,紧接着a[i] 位置传花给a [ a[i] ]位置的人。要求从某人开始,也是从某人结束。思路:找到多个子树的最小公倍数,关键:对于是偶数的情况可以进行/2操#include #include #include #include #include using namespace std;typedef long long ll;int原创 2016-12-07 14:15:06 · 295 阅读 · 0 评论 -
CodeForces 611B New Year and Old Property
题意:找出a->b有几个值的二进制只有一个0思路:这种二进制自己还真是想不清楚,对于数字枚举二进制是0的位置,带进去看是多少返回就行#include#include#include#includeusing namespace std;#define MAXD 1000 + 100#define Inf 1 << 30long long s[100];原创 2016-12-09 14:07:35 · 297 阅读 · 0 评论 -
Two Semiknights Meet CodeForces - 362A
题意:两个K要开会,#格子可以走,不可以做开会地点。 两个K无时无刻都在移动,不可以停留思路:记录K的位置的奇偶性,存图比对原创 2017-03-01 21:19:32 · 244 阅读 · 0 评论 -
C - Vanya and Scales
题意: 在w进制下,给定数字m在等式一端,询问是否可以加入若干个数字,可以使得两边相等。思路:因为只可以加入w^x的形式,且只能加入一次,所以当数字化为进制形成的是0 ,1 ,w-1时才可以构成0(不加) 1(加)的两种形式,而在w-1的时候需要特殊判断前置位+1.特殊:10 899 这个数据需要仔细判断一下#include #include #include #includ原创 2017-03-02 17:04:38 · 261 阅读 · 0 评论 -
365C - Matrix
感谢小宇哥耐心的指导,感觉自己脑子真是不转题意:给定一串字符串,按要求构成一个矩阵B bij=si*sj。按题意会得到 加入矩阵c满足和为a c1+c2+c3+c4=s1*s2+s1*s1+s2*s1+s2*s2=(s1+s2)*(s1+s2)那么只需要记录行列的区间和就好了(理解了半天,还多亏小宇哥告诉。。) 在对行列记录时候,行和列等价,只有在行区间*列区间==a时候原创 2017-03-02 22:07:23 · 260 阅读 · 0 评论 -
New Year Tree CodeForces - 620E
题意:给出区间内数字,有两个操作。操作一更改X的所有子树,操作二询问子树中不同数字个数。思路:之前没想到二进制优化,本来认为60个气球很少,就开个数组维护了个vis标记,然而TLE了。上网查说的很有道理60 完全可以用2^60的long long 存在,这样就很好做了!#include #include #include #include #include #includ原创 2017-05-18 20:53:17 · 601 阅读 · 0 评论 -
839D - Winter is here (莫比乌斯)
题意:给出若干的元素,求从集合中选出任意某些元素,求他们的gcd*元素个数的和。要求gcd>1思路:第一次做莫比乌斯的题,感觉还是挺像模板题的。f(x) = Σmu[d/x] *F(d) 其中mu[d/x]可以用筛法打素数表的时候处理出来。而F(d)则表示了因数为d的元素有多少个。f(x)表示最大共因数为x的有多少个!而对于任意的一个gcd 我们可以很容易知道,题目中要原创 2017-08-14 14:27:55 · 373 阅读 · 0 评论 -
Joy of Flight 2014-2015 ACM-ICPC, NEERC, Northern Subregional Contest
题意:给出风速,最大速度,起点终点,询问是否能到达终点,以及没秒所在位置。思路:风速的矢量分离出来,求对于位移的影响,作用在dx dy上,求平均X的速度和Y的速度#include#include#include#include#include#include #include using namespace std;typedef long long ll;dou原创 2017-10-06 18:56:23 · 408 阅读 · 0 评论 -
I - Instruction 2014-2015 ACM-ICPC, NEERC, Northern Subregional Contest
题意:给出每个火车的入境时间,现在有如干个开关,以及每个火车需要达到的处境口编号,询问开关的切换时间,以及切换编号思路:对于每个火车,前面的火车与后面的火车永远不会相撞(只要让前面的火车一直运动下去)。因此每个节点当前只需要处理当前的火车即可记录节点的状态 (0,1 表示左侧还是右侧开关状态)#include#include#include#include#includ原创 2017-10-06 19:59:13 · 505 阅读 · 0 评论 -
E - Elementary Math 2015-2016 Northwestern European Regional Contest (NWERC 2015)
题意:给出+-*三种运算以及a xxx b两个数字。要求对于每个a.b执行任意一种预算,且结果均不等思路:构造二分图,寻找最大匹配。并且记录匹配的方式。对于每个a-b a*b a+b都构造一个点,连边#include#include#include#include#include #include#include #include using namesp原创 2017-10-09 12:18:55 · 266 阅读 · 0 评论 -
I - Identifying Map Tiles 2015-2016 Northwestern European Regional Contest (NWERC 2015)
题意:给出一个map,询问对应点的坐标思路:找规律可得。x*2 + z y*2+z 对于每个0 1 2 3 分情况讨论#include #include #include #include #include using namespace std;char s[200];int main(){ cin>>s; cout<<strlen原创 2017-10-09 12:21:12 · 448 阅读 · 0 评论 -
J - Jumbled Communication 2015-2016 Northwestern European Regional Contest (NWERC 2015)
题意;对于每个n = x^(x思路:还原回原数字,打表。注意&255#include #include #include #include #include using namespace std;int a[500000];int main(){ long long n; cin>>n; for(int i=0;i<=255;i++)原创 2017-10-09 12:22:12 · 587 阅读 · 0 评论 -
A - Assigning Workstations 2015-2016 Northwestern European Regional Contest
题意: 有若干个人的请求,有无数台机器,每个机器隔K秒就会自锁。询问如何安排才可以让这些人使用机器时,需要解锁的次数最少。输出节省的时间!!!思路:对于每个人的请求找到当前set里面最小的时间+k,如果可以则更改,若当前的时间比最小的时间+k都大,那么这个机器必定会锁上,set弹出。set里存放的是当前工作的人离开的时间#include #include #include原创 2017-10-09 12:24:24 · 354 阅读 · 0 评论 -
CodeForces 612C Replace To Make Regular Bracket Sequence
题意:括号匹配。注意只能变为同的情况的括号。之前写没注意如果右括号入栈就应该判为Impos#include #include #include using namespace std;char s[10000005];int tb[1000];int main(){ tb['[']=1; tb['(']=2; tb['{']=3; tb['原创 2017-05-17 15:12:17 · 283 阅读 · 0 评论 -
CodeForces 600C Make Palindrome
题意:改变最少的字母,得到一个典序最小的回文串。可以重排,重排不算操作次数。思路统计个数,如果是偶数,两侧放,奇数的话找一个后面的奇数抵消,如果找不到放在中间#include #include #include #include #include #include #include #include #include #include using namespa原创 2017-05-12 10:32:41 · 256 阅读 · 0 评论 -
CodeForces 600A Extract Numbers
题意:区分字符和数字。空输出 “”,无输出-;思路:逐个遍历,仍在string里。写了个输入输出流和scanf的混用,竟然没出错A了。。#include #include #include #include #include #include using namespace std;const int maxn=1000005;string a[maxn原创 2017-05-12 10:20:34 · 340 阅读 · 0 评论 -
A - Taymyr is calling you
题意:给出a,b,问区间1~L上有多少个ab的公倍数 #include #include #include #include using namespace std;const int inf=0x3f3f3f3f;int a[10005];int main(){ int n,m,z; cin>>n>>m>>z; for(int i=n;i<=z;i原创 2017-02-03 12:07:01 · 354 阅读 · 0 评论 -
B - Timofey and cubes
题意:对于给定n的序列。开始交换,每次交换从两端交换思路:对于位置在奇数位的会交换,而偶数位的不会 #include #include #include #include using namespace std;const int inf=0x3f3f3f3f;int a[1000005];int main(){ int n; cin>>n;原创 2017-02-03 12:08:13 · 277 阅读 · 0 评论 -
C - Alyona and Spreadsheet
题意:给出一个矩阵,询问是否有一列从l->r行的顺序是非递减的。思路:处理没一列,对于当前数字可以扩展到该列的哪一位,直到不满足非递减的条件,之后用一个矩阵存起来。注意:之后还需要处理当前行最大的扩展行。没写这步,竟然TLE100真是.#include #include #include #include #include #include #inclu原创 2017-02-24 21:21:41 · 422 阅读 · 0 评论 -
D. Cloud of Hashtags
题意:保证是一组非递减的字符串。只可以删除连续的后缀思路:从后往前减少字符。暴力就好了。挺水的。做完C去看动漫了#include #include #include #include #include const int maxn=1e6+5;using namespace std;string str[maxn];int n ;int a[maxn原创 2017-02-24 21:57:12 · 327 阅读 · 0 评论 -
Jzzhu and Cities CodeForces - 450D
题意 :给出n个节点,m条道路 ,k条铁路。铁路都是从1号节点开始的,求为了减少费用,可以拆掉多少条铁路,且最短路径到任意一点的距离不变思路:先建立铁路,标记由铁路可以到达的城市以及最短距离,之后用道路进行spfa 。如果在spfa中,可以松弛某一点,或者刚好等,那么必定是通过道路抵达的,标记取消。最终判断还有多少个标记,就是必须需要的铁路long long 过得去 int原创 2017-03-09 16:21:40 · 380 阅读 · 0 评论 -
CodeForces 598B Queries on a String
思路:一年前学的三步翻转。。一年后才用上。!不过暴力好像也过了!#include #include #include #include using namespace std;void reverse(char *left,char *right){ while(left<right) { char temp=*left;原创 2017-04-03 20:55:32 · 279 阅读 · 0 评论