目录
A、 Calandar
题意:重定义,一年12个月,每月30天,一周五天,T组数据,给定第一个日期的年月日,是周几,求第二个日期是周几
例:输入: 1 2019 5 12 Monday 2019 5 14 输出: Wednesday |
思路:简单思维,一周只有5天,一月30天,30%5==0,所以月年都能省略,只需要看日就可以了。
B、Flipping Game
题意:
n盏灯,进行k轮,每次转换m盏灯的状态,给出n,k,m,n盏灯的初始状态和最终状态,求有几种方式能够k轮后使得n盏灯的初始状态到最终状态
1<=n,m<=100,1<=m<=n
例:输入:3 3 2 1 001 100 3 1 2 001 100 3 3 2 100 001 输出: 2 1 7 |
思路:跟某些高斯消元题意特别像,但是并不是,因为灯之间是没有相互关联关系的。感觉是数学组合数的,跟灯的奇偶变换次数有关,不过最后并没有做出来。。
C、Wandering Robot
题意:机器人走路的,初始在原点,给出走的路径字符串,只有上下左右,复制k倍,求路径中距离原点最远的曼哈顿距离
1<=n<=1e5 ,1<=k<=1e9
例:输入:2 3 3 RUL 1 1000000000 D 输出: 4 1000000000 |
思路:模拟是不可以模拟的,思维题,换个图,就能发现,因为是重复的路径,所以是最远点,要么在第一次,要么是最后一次
D、Game on a Graph
题意:有一个n个点m条边的图,k个人做游戏,分为2队,按顺序依次给图去一条边,若某人去边后,图不连通了,那么这个人所在的队伍就输了,输出赢的队伍
2<=k<=1e5, 2<=n<=1e5, n-1<=m<=1e5
例:输入: 3 5 11212 4 6 0 1 0 2 0 3 1 2 1 3 2 3 5 11121 5 7 0 2 1 3 2 4 0 3 1 2 3 2 4 1 3 121 4 3 0 1 0 2 1 3 输出: 2 1 2 |
思路:也很简单,算思维题+并查集
n个点的图若要联通,最少要n-1条边,所以若图本身联通,第(m-(n-1)+1)个人所属的队就输了。
注意本身图若不联通,第一个人所属的队就输了。可以用并查集判图连通性,
E、BaoBao Loves Reading
题意:操作系统学的LRU置换法,n次访问,第i次访问a[i]页,求栈容量为1-n的分别的缺页次数
1<=n<=1e5, 1<=ai<=n
例:输入:1 7 4 3 4 2 3 1 4 输出: 7 6 5 4 4 4 4 |
思路:感觉是个树状数组+单调队列的题,但是最后40min没有A成。,也不知道错在哪里,找不出错误样例,,难过,如果A了就能金了,
F、Stones in the Bucket
题意:n堆石头,给出每堆石头的数量,每次两种操作:要么移除某堆石头的一块石头,要么将某堆的一块石头移到另一堆,求最少操作几次,能使每堆石头的数量一样,
1<=n<=1e5, 0<=ai<=1e9
例:输入:4 3 1 1 0 4 2 2 2 2 3 0 1 4 1 1000000000 输出: 2 0 3 0 |
思路:签到题,简单思维,就是先求n个数的平均数ave,然后每堆数量>ave的与ave的差的和就是答案。
G、Heap,
难题,pass了。。
H、Tokens on the Segments
题意:n条线段,第i条线段端点为( [li , i] , [ri , i] ),每列最多选择一个整数点(行列编号都是整数的点),求至少有1点被选择的线段最多有几条,
1<=n<=1e5, 1<=li<=ri<=1e9
例:输入:2 3 1 2 1 1 2 3 3 1 2 1 1 2 2 输出: 3 2 |
思路:贪心+优先队列,贪心的是,线段最多只删除1点,所以删除点的时候,可以直接将点所在的线段删除
若要删除i列的某个点,那么选择的线段一定是包含i列的点,并且r最小的那个线段,这个就可以用优先队列维护。然后依次对列进行考虑是否删点。
I、Connected Intervals
pass
J 、riangle City
pass
K、Happy Equation
求
1<=a<=1e9, 1<=p<=30
L、Median
思路:n个数m组大小关系,求第i个数是否能作为第(n+1)2大的数。
例:输入:2 5 4 1 2 3 2 2 4 2 5 3 2 1 1 2 3 输出: 01000 000 |
思路:也不是难题,先拓扑判环,然后就两个dfs,分别判断一定比第i 个数大的数有几个,另一个判断一定比第i 个数小的数有几个,然后就有第i个数可能范围了。
M、Sekiro
思路:简单水题,直接模拟循环(+1)/2,变成0,1的时候break就行,