10 2021 档案

摘要:A. Era 思路: 对于任何一个a[i] > i来说,我们可以最多插入a[i] - i个1在最前面,所以最大值我们只需要把所有的a[i] - i取最大值就可以了 #include <iostream> #include <cstring> #include <cstdio> #include <a 阅读全文
posted @ 2021-10-31 15:49 彦辰kkkkk 阅读(191) 评论(0) 推荐(1)
摘要:F.Fireworks 思路: 由于是最优策略,所以并不是单纯的求期望,而再分析下题目,说做一个烟花是n分钟,放所有烟花是m分钟,那对于最优策略我们可以求一个k,表示每制作k个烟花放一次,那么每一轮时间花费就是k * n + m,由于成功的概率是p,所以失败的概率是(1 - p),因此至少有一个成功 阅读全文
posted @ 2021-10-30 22:34 彦辰kkkkk 阅读(468) 评论(0) 推荐(0)
摘要:C. Dijkstra? 思路: Dijkstra求最短路,但要求是输出所经过的路径,具体做法我们可以开一个pre数组,在遍历邻接表的时候记录一个点前面的点是哪个,即一个点是从哪个点过来的,然后我们就得到了一个1到n的逆向路径,然后具体得到这个路径可以用一个while循环然后一直用pre数组迭代更新 阅读全文
posted @ 2021-10-29 22:28 彦辰kkkkk 阅读(88) 评论(0) 推荐(0)
摘要:B. DMCA 思路: 给的样例不由得让人想到开根号上去,这题意思是每次把每一位加起来得到一个和,得到和之后再把这个和的每一位加起来,直到这个和只有个位数。 这东西叫数根。有关于他的性质和公式: 公式:(n - 1) % 9 + 1 性质:一个数加上9之后他的数根不变 不用公式做法: #includ 阅读全文
posted @ 2021-10-28 16:25 彦辰kkkkk 阅读(162) 评论(0) 推荐(0)
摘要:B.Mine Sweeper II 思路: 很巧的思维题,虽然很容易想到直接构造一个图,但如果没得出这么几个性质的话就感觉无从下手。首先对于一个图来说,他的和与把这个图取反(.变X,X变.)得到的和是相等的,所以我们就可以比较图B与图A不相等的元素的个数是多少,如果图B与图A不相等的元素个数不超过n 阅读全文
posted @ 2021-10-28 08:38 彦辰kkkkk 阅读(325) 评论(0) 推荐(0)
摘要:C. Grandma Capa Knits a Scarf 思路: 官方的思路真的牛皮,字符串双指针确实平时打得少。由于题目中说我们只选择一种字符,所以我们可以枚举所有的26中小写字母,然后用双指针,一个指开头,一个指结尾,两个字符相等就双指针都移动,如果不相等,看当前指向的字符是不是可以删掉,即等 阅读全文
posted @ 2021-10-26 20:44 彦辰kkkkk 阅读(113) 评论(0) 推荐(0)
摘要:A - Easy $h$-index 思路: 这题题目说的太晦涩难懂了,英语不好直接炸掉,简单来说就是找到一个引用次数,使得至少引用这些次数的文章的数量要大于这个引用数,因为是至少,所以比如说至少引用3次,那么引用四次五次也是属于至少引用了三次的,所以由于要求的是最大的引用次数,所以我们把a从后往前 阅读全文
posted @ 2021-10-22 22:43 彦辰kkkkk 阅读(62) 评论(0) 推荐(0)
摘要:Xor Transformation 思路: 两种方法,首先是最重要的一个式子:X^K=Y -> K=X^Y,所以先求出这个k,然后普通方法就是二进制枚举k,把最高位的1当做一个数,然后之后的1加起来当做另一个数,由于每次k都会变大,所以先输出小的再输出大的。第二种方法就是先看看k和x的大小,由于k 阅读全文
posted @ 2021-10-19 19:30 彦辰kkkkk 阅读(359) 评论(0) 推荐(0)
摘要:A - Chuanpai 思路: 可以打表,但不如枚举快,枚举就从1到6两重循环,由于1,3 3,1算一种,所以第二重直接从i开始就可以 #include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #in 阅读全文
posted @ 2021-10-16 22:33 彦辰kkkkk 阅读(155) 评论(0) 推荐(0)
摘要:B. Make it Divisible by 25 思路: 能被25整除的数的最后两位一定只有四种情况,00,50,25,75。所以我们只要 1.找到一个0时,从当前位置开始往前找,找到第一个0或者第一个5, 2.找到一个5时,从当前位置开始往前找,找到第一个2或者第一个7, 此时更新一下res, 阅读全文
posted @ 2021-10-15 00:38 彦辰kkkkk 阅读(125) 评论(0) 推荐(0)
摘要:B. Groups 思路: 只要找到是否有两天满足条件即可,我们可以这么分析,对于任意的两天,看这n组学生: 一天有课且另一天没课的记为cnt1 一天没课且另一天有课的记为cnt2 两天都有课的记为cnt3 两天都没课的记为cnt4 而两天都有课cnt3的可以放到cnt1中也可以放到cnt2中,我们 阅读全文
posted @ 2021-10-12 22:53 彦辰kkkkk 阅读(175) 评论(0) 推荐(0)
摘要:A. Initial Bet 思路: 题目写的和shi一样,本来意思很简单,题目说的曲里拐弯的,就是看加起来能不能被5整除,由于都是正整数,所以要特判0的情况 #include <iostream> #include <cstring> #include <cstdio> #include <alg 阅读全文
posted @ 2021-10-10 10:21 彦辰kkkkk 阅读(70) 评论(0) 推荐(0)
摘要:A. Gamer Hemose 思路: 这题刚开始用暴力做的,然后TLE了,然后就思考这个h有没有别的方法处理。先从大到小排序,然后分两种情况,首先,如果h比一倍的前两项的和还小,那就再看h是不是比第一项还小,如果比第一项还小或和第一项相等,那答案就是1。如果比第一项大一点,那答案就是2。 然后第二 阅读全文
posted @ 2021-10-04 22:55 彦辰kkkkk 阅读(72) 评论(0) 推荐(0)
摘要:A. CQXYM Count Permutations 思路: 答案是(2n)!/2,不知道啥原理,靠样例猜。 题目的描述是: 而这种情况答案是(2n)!/2,这占了全排列一半的情况,那么另一半的情况应该是 即这种情况答案应该也是(2n)!/2 而这个题防止意外可以用快速模,但是最关键的点在于,这个 阅读全文
posted @ 2021-10-01 10:24 彦辰kkkkk 阅读(321) 评论(0) 推荐(0)