03 2018 档案
摘要:邂逅明下 开头很文艺的一段说明, 2333。 题解:布什博弈的变形, 谁最后一次取谁输。如果留下了[1,p]的石子个数那么接下来取的那个人就一定输了。 现在要求的是新手赢, n%(p+q) > p 的话, 先手可以将余数从>p, 取成 小于一个p的值, 然后这个人对于剩下的石子来讲就是后手了, 然后
阅读全文
摘要:Euclid's Game 题意:2个人轮流对数进行操作, 每次都将大的那个数减去小的那个数的任意倍数但是不能变成负数, 现在谁能使得某一个数变成0, 谁就赢得了比赛。 题解:如果每次 a/b == 1 也就是说 a 只能减去一个 b的话, 那么这2个人就开始轮流的进行大数减小数, 如果这个cnt
阅读全文
摘要:Primal Sport 题意:2个人玩游戏, 每次轮到一个人选择一个比当前值小的素数, 然后在找到比素数的倍数中最小的并且不小于当前数的一个数。 现在这个游戏玩了2轮, 现在想找到最小的那个起点X0。 题解:我们可以发现样例解释中每次都是先减去最大的那个素数, 然后再从 减去后的数+1(如果不加一
阅读全文
摘要:Yet Another Game of Stones 题意: Alice 和 Bob 在进行取石子游戏, 现在一共有n堆石子, 每堆石头有ai个, 然后每堆石头有一个bi属性, 如果bi == 0, Alice取这堆石头就没有限制, 如果bi == 1 那么Alice对这堆石子一次只能取奇数个, 如
阅读全文
摘要:Timetable 题意:ivan 是一个学生, 他们当地一周有n天, 每天有m节课,每节课一小时, 然后‘1’代表的是ivan这个时间段需要上课, 现在ivan可以跳过选择K节课不去上, 他在学校的时间为当天他选择的第一节课到当天的最后一节课,也就是可以跳2端的课, 如果当天的没有课, 当天就不需
阅读全文
摘要:Teodor is not a liar! 题意:Teodor说他的图片上没有一个点被所有的线段包含,他把这个消息分给他的朋友Sasha, 但是Sasha不信, 所以给Teodor给出几条染色片段, 让Sasha来猜,现在求Sasha最多能猜多少次。 题解:对于每一个点, 找到从左到这个点的位置的最
阅读全文
摘要:Game with String 题意:有一个字符串,可以选择从第K位开始,将[K,len(s)-1]的字符都移到前面去,现在给你一个首字母,你可以再选择一位进行观察,然后猜测这个K的值是多少, 现在要求求出能猜对K的概率是多少。 题解:处理出每一个字母开头的第K位是什么字符, 如果这个字符在这个字
阅读全文
摘要:H国的身份证号码I HihoCoder - 1558 只要单纯的判断一下前后的乘积就好了, 因为不是很想处理倍数的关系, 所以我这里是用 string去处理。 代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define LL long
阅读全文
摘要:HihoCoder - 1617 (从群主那里借鉴来的, 群主好强啊) 题意:中文题不解释。。。 题解: dp[X][i][j] 代表的是X是坐标之和 第一个人 走到位置 dp[i][x-i] 第二个人 走到位置 dp[j][x-j] 所到达的最大值。 然后 dp[x][i][j] 可以从 dp[i
阅读全文
摘要:The Bakery 题意:将N个数分成K块, 每块的价值为不同数字的个数, 现在求总价值最大。 题解:dp[i][j] 表示 长度为j 且分成 i 块的价值总和。 那么 dp[i][j] = max(dp[i-1][x]+右边的数的贡献) ( 1<=x < j )。 如果每次都从左到右for过去一
阅读全文
摘要:Elections 题意:贿赂选举人使得自己成功获选, 现在求得最小花费是多少。 题解:我们可以发现他是一个凹型函数, 我们用三分去找最小值就好了。 代码:
阅读全文
摘要:Maximize 题意:整个程序有2种操作,操作1将一个元素放入集合S中,且保证最新插入的元素不小于上一次的元素, 操作2 找到集合S中的某个子集合, 使得 集合中最大的元素减去平均数的值最大。 题解:找子集合的时候将整个几个分成2边, 左边为前i个数, 右边为最新插入的数。 那么我们就可以想到,
阅读全文
摘要:Sleepy Game 题意:Petya and Vasya 在玩移动旗子的游戏, 谁不能移动就输了。 Vasya在订移动计划的时候睡着了, 然后Petya 就想趁着Vasya睡着的时候同时定下策略, 如果可以赢得话输出Win 并输出路径, 如果步数在达到1e6的情况下,就认定为平局, 输出Draw
阅读全文
摘要:Cashback 题意:一共给你N个数, 然后将他们分成连续的子集, 每个集合可以删除 元素个数/c 个最小元素, 然后求每个集合删除元素后的总和。 题解:我们将集合分为1个元素或者K个元素,每K个元素查询一下最小值,然后找到最小值, 然后 dp一下就可以找到最后的结果 emmm, 当时CF的时候题
阅读全文
摘要:Buy a Ticket 题意要求:求出每个城市看演出的最小费用, 注意的一点就是车票要来回的。 题解:dijkstra 生成优先队列的时候直接将在本地城市看演出的费用放入队列里, 然后直接跑就好了, dis数组存的是, 当前情况下的最小花费是多少。 代码:
阅读全文

浙公网安备 33010602011771号