随笔分类 -  codeforces

Codeforces Round #426 (Div. 2)A. The Useless Toy
摘要:题意:4个箭头,给出起始箭头,终始箭头,问经历n次,是由顺时针cw得到,还是逆时针cww得到,如果都可以输出undefined 思路:n%4,就是次数了,再两个方向模拟下 阅读全文

posted @ 2017-07-31 12:12 hhhhx 阅读(126) 评论(0) 推荐(0)

codeforces #271(div2) F. Ant colony
摘要:题意:一个数列,q个询问,问某个区间,如果某个数是其他数的因子,则s++,问r-l+1-s是多少 思路:一个数是其他数的因子,这个数肯定是最小数,且为这个区间的gcd,所以RMQ求区间GCD,区间最小值,在用线段树求这个区间最小值个数 阅读全文

posted @ 2017-07-30 19:57 hhhhx 阅读(127) 评论(0) 推荐(0)

codeforces #271(div2) E
摘要:题意:给出n,d,和一个数列,求一个最长子序列,相邻的两个数绝对值>=d;,输出长度和位置。 思路:dp[i]表示以当前这个数字为终点形成的最大长度,这样的话找位置的时候就是往前找dp[i]-j(1<=j<dp[i]),这里用到线段树来优化 对于一个数字A,他的前一个数字的区间在(1,A-d),(A 阅读全文

posted @ 2017-07-30 15:26 hhhhx 阅读(159) 评论(0) 推荐(0)

codeforces prblem 484 D
摘要:题意:一个数列,我们可以把他分成若干段,每段的值为最大值减去最小值,问最大的值和为多少 思路:肯定是单调的放在一起,那么峰值该如何处理,要么放在前面段,要么后面段,如:1 3 4 1 ,或者 1 3 7 6 阅读全文

posted @ 2017-07-28 20:28 hhhhx 阅读(156) 评论(0) 推荐(0)

codeforces prblem 375 b
摘要:题意:给出个只有0,1的矩阵,我们可以交换任意行,问最大的全1矩阵面积是多少 思路:行的全1的段我们无法改变,所以得尽量把该列有1的这些行放在一起,然后根据能向左延伸多少全1格排序 阅读全文

posted @ 2017-07-28 16:12 hhhhx 阅读(132) 评论(0) 推荐(0)

codeforces contest/5/problem/C
摘要:题意:求最长连续符合的(),和个数 思路:dp[i]表示以i为结尾的最长连续合法(),那么当我们匹配到一个()时,是不是dp[)的位置]=()的长度+dp[(前一个位置] 阅读全文

posted @ 2017-07-28 15:07 hhhhx 阅读(125) 评论(0) 推荐(0)

Codeforces Round #425 (Div. 2) D. Misha, Grisha and Underground
摘要:题意:给出 一颗树,然后q个询问,每个询问给出3个点,让我们自己选择一个起点一个终点,这条路线上的点标记,问第三个点到终点的最多标记点是多少 思路:第三个点到终点的标记点,肯定是第三个点与起点的最近公共祖先到终点的标记点。我们可以求出三个点的的三种最近公共祖先,取深度最大的点K,然后求K到三个点的距 阅读全文

posted @ 2017-07-26 11:37 hhhhx 阅读(106) 评论(0) 推荐(0)

Codeforces Round #425 (Div. 2)B. Petya and Exam
摘要:题意:先给出一行字符串,里面的字符都是好的字符,再给出一行字符B,B里面有小写字母,?,最多一个*,?可以代替很好的字母,*可以代替空格或者任意个坏的字母,问给出的字符串是否可以由B匹配 思路:我是先判断是否有*,没有就for,有的话就分2种情况,我用*和不用*,用*就是把*前面的字符串和*后面的字 阅读全文

posted @ 2017-07-25 09:20 hhhhx 阅读(174) 评论(3) 推荐(1)

codeforce problem 148 E
摘要:题意:n排花盆,我们可选择m个,每排第一个数字为每排个数,然后给出每个花盆的价值,我们只能从左边或者右边取 思路:bag[i][j]表示第i行取j个花盆的最大价值,那么每行我们可得到取1个,2个。。。。的最大价值,相当于体积为j,价值为bag[i][j], 总容量为m个,这就有点像是背包了,dp[i 阅读全文

posted @ 2017-07-23 20:53 hhhhx 阅读(123) 评论(0) 推荐(0)

codeforce problem 544 C
摘要:题意:有n个程序员,他们每行会有ai个BUG,问写m行代码产生不超过b个bug的方案 思路:dp[i][j]代表i行产生j个BUG 方案,dp[i][j]+=dp[i-1][j-第x个程序员产生的bug数] 阅读全文

posted @ 2017-07-16 17:15 hhhhx 阅读(146) 评论(0) 推荐(0)

Codeforces problem 540 D
摘要:题意:有三种人,石头剪刀布,各有r,s,p个,每天有2个不同种族的人出来决一胜负,活的人回去,问各个种族活下来的概率 思路:dp[i][j][k]为石头有i个,剪刀有j个,布有k个的概率 那么石头的概率就是dp[1][0][0]+......dp[r][0][0]了 状态转移:当前有(i+j+k)* 阅读全文

posted @ 2017-07-16 16:23 hhhhx 阅读(126) 评论(0) 推荐(0)

Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)E. Cards Sorting
摘要:题意:有n个数字,我遍历过去,如果他是当前最小值,就删除,否则放到最后面去,问得遍历多少个数字,(直到所有数字消失 思路:我们保存每个数字的位置,这个数字是否能删除,如果他在上一个数字的最后一个位置后面就可以删除了,那么标记下+树状数组(我这里的y表示的就是上一个数删除的最后一个位置) 阅读全文

posted @ 2017-07-15 10:24 hhhhx 阅读(120) 评论(0) 推荐(0)

Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)D. Office Keys
摘要:题意:n,k,p,一个横坐标轴,输入n个人的位置,K个钥匙的位置,给出办公室的位置,问每个人都拿到钥匙到办公室的最短时间是多少。 思路:我们可以二分时间,那怎么判断是否可以在该时间都到达,对N,K排序,对于第一个钥匙 ,abs(人[i]-钥匙[1])+abs(钥匙[1]-p),后面是不变的,如果某个 阅读全文

posted @ 2017-07-14 16:38 hhhhx 阅读(152) 评论(0) 推荐(0)

Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)B. Keyboard Layouts
摘要:题意:有2个键盘,给出第一个键盘的26个字母对应的第二个键盘的26个字母,问由第一个键盘给出的字符串,在第二个键盘中是什么 思路:map应用 阅读全文

posted @ 2017-07-14 10:14 hhhhx 阅读(143) 评论(0) 推荐(0)

Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)C. Jury Marks
摘要:题意:有一个初始分值,按时间给出K个评委给的分数,+或者减,然后有n个在这期间出现过的分数,问初始分值可能是 思路:得出k的前缀和,由n[i]可以得到他可能存在的初值即n[i]--(k[1]~k[k]),然后看n[1]的那些可能的初值是否也在(n[2]~n[n]中出现 阅读全文

posted @ 2017-07-14 10:12 hhhhx 阅读(142) 评论(0) 推荐(0)

Codeforces Round #135 (Div. 2)D. Choosing Capital for Treeland
摘要:题意:n个点,n-1个边,有向的,问当以某个点为起点,到其他点的话要改变多少个边的方向 思路:题目给的边价值为0,反向的价值为1,f[i]表示该点到他的子节点需要改变的边,g[i]为到他上方需要改变的,跑2遍图 阅读全文

posted @ 2017-07-13 21:31 hhhhx 阅读(159) 评论(0) 推荐(0)

Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)D. High Load
摘要:题意:出n个点,其中k个叶子节点,问构造出的树最远的两个点最近是多少思路:以一个点为中心,然后m个伸出,一层层扩散,(n-1)%m==k,如果k==0,即可以平分,长度就是2*(n-1)/m,如果取模为k==1,说明多出一个,+1,其他的话,就是最后一层补k个,但是最长的还是+2 阅读全文

posted @ 2017-07-12 23:16 hhhhx 阅读(125) 评论(0) 推荐(0)

Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) C. String Reconstruction
摘要:题意:给出各个字符串出现的起始位置,问整个的字符串是什么,(字典序最小) 思路:开始写的是用set+优先队列存取每个位置出现的最长字符串,然后遍历,爆内存。。。爆。。。内。。。存。。。我们可以用并查集,已经确认的位置他们并在一起,指向后面第一个没有被确认的(看代码理解吧) 阅读全文

posted @ 2017-07-12 22:56 hhhhx 阅读(162) 评论(0) 推荐(0)

Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) B. Black Square
摘要:题意:问是否可以形成一个全黑正方形 思路:可以找出正方形的边,然后判断下这个矩阵是否容得下,n,m都比边短,比赛的时候写麻烦了,还去找了这个正方形究竟在哪个位置,这样的话得考虑很多情况,不如就边*边-黑子的总数 阅读全文

posted @ 2017-07-12 22:51 hhhhx 阅读(192) 评论(0) 推荐(0)

#422(div2)D. My pretty girl Noora
摘要:题意:N个人比赛,将N个人平均分为N/X组,每组对f[N]的贡献是x*(x-1)/2;N/X个晋级,然后继续操作,贡献为f[N/X].t^0*f[l]+t^1*f[l+1]......+t^(r-l)*f[r]最小 思路:我们改变X使其f[i]发生改变,当i为质数只能为1组,即贡献为i*(i-1)/ 阅读全文

posted @ 2017-07-04 14:38 hhhhx 阅读(174) 评论(0) 推荐(0)

导航