感想
CF Rank: 60/273
emmmm这比赛的题非常友好啊?我们队5个小时没法摸鱼有题可做,A题好像是个树形dp,L是个枚举时间最短路?算了有空再补吧。。
Problem A Broadcast Stations
Unsolved
Problem B Connect3
Solved By shuzijun (+,4:08)
题意
给定一个4*4棋盘,黑色先手,且必须放在给定的(1,x)位置上,之后只有下面有棋子时,上面才能放棋子。比如放(3,1)时,(2,1),(1,1)都需要已经放过棋子。取胜的条件与井字棋类似,横,竖,斜有连续的三个就是胜利。要求你找出白色方最后一手放在(a,b)位置上就能取得胜利的不同的局面有多少种。
思路
暴搜即可
代码
1 |
|
Problem C Game Map
Solved By ManuShi (+,1:00)
题意
给定一张无向图,定义一种合法路径为路径上后一个点的度数严格大于前一个点的度数。为长度最长的合法路径长度是多少
思路
对度数排序,从度数小的点往度数大的点更新即可
代码
1 |
|
Problem D Happy Number
Solved By ManuShi (+1,00:23)
题意
定义f(x)为各位数字的平方的和。如果多次操作能变成1,那么就是happy number,不然就不是happy number
思路
初始数字为1,000,000,000,但是注意到平方的和最多也就81*9,开个1000的数组判判有没有循环就行
代码
1 |
|
Problem E How Many to Be Happy?
Upsolved By ManuShi
题意
问对于每条边来说,让其变成图的最小生成树中的边最少需要移走几条边,输出求和后的答案
思路
若要使得该边在最小生成树中,我们要保证u,v的两端的子图不能通过其他比当前边小的边来联通,也就是我们要求的答案即是图中比当前边长度小的所有边所构成图的最小割(边容量为1)。所以考虑枚举所有边,以图中比当前边长度小的所有边来建图,以边的端点为源点汇点跑最大流。好像是是2.5*10^9的算法啊,怎么跑的这么快
代码
1 |
|
Problem F Philosopher’s Walk
Solved By shuzijun (+2,02:12)
题意
边长都是2的k次幂,每个正方形都是前面4个拼接而成(具体见题目图片)。从左下角开始走,给定步数len和k,问走len步最后位置的坐标
思路
这题是shuzijun写的我思路也不是太确定,理论上来说因为正方形的放置方法是固定的,那么我们可以考虑递归,dfs要判断正方形是如何放置的,然后返回一个偏移量累加应该就可以了。。吧?
代码
1 |
|
Problem G Rectilinear Regions
Solved By ManuShi (+1,04:30)
题意
给定两根直线(具体见题目中图片),问蓝色在红色上面时交的面积有多少,求个数和面积和
思路
题目表示拐点坐标两两不同,大力扫描线就完事了,注意两边非封闭区域面积不计
代码
1 |
|
Problem H Rock Paper Scissors
Solved By ManuShi (+,02:04)
题意
给定两个石头剪刀布序列,问怎么放第二个序列能使赢得次数尽可能多,最多是多少。
思路
刚做过字符串循环匹配就给我来这个=_=,显然这个题常规的字符串数据结构是搞不了的(因为它有可能不是完全匹配的啊,常规数据结构只能算完全匹配的算不了匹配了几个)。那么考虑反转第二个字符串,然后对3种字符分别使用fft匹配。卷积形式为A[j]*B[i-j],我们每次设要匹配的字符为1,不要的为0,这样只有1*1时才会对答案有贡献,这样最后乘积c[i]就是我们要的每个位置的匹配个数。FFT以后对答案求和取个最大值就行
代码
1 |
|
Problem I Slot Machines
Solved By Shuzijun (+2,03:24)
题意
给定一个序列,要求找到以k开始,p为循环节的循环部分并且要求p+k最小
思路
反转字符串跑getNext,循环节就是i-next[i]
代码
1 |
|
Problem J Strongly Matchable
Unsolved
Problem K Untangling Chain
Solved By ManuShi (+,02:49)
题意
给定一个操作序列,每个操作(a,b)a代表走a,b代表走完a后接下来向左向右。让你重设a使得所有线段不相交
思路
维护当前走过的minx,miny,maxx,maxy。显然走到这样一个长方形外面下步往左往右都不会碰到,可以理解为一圈一圈往外跑
代码
1 |
|
Problem L Vacation Plans
Unsolved