随笔分类 -  思维题

摘要:倒叙讲题预警() 传送门:https://codeforces.com/contest/1925 D.Good Trip 题意:有n个小盆友,其中m对是好盆友,每队好盆友有友谊度fi。老师要举办k次远足,每次挑一对小盆友去,被挑到的小盆友友谊值+1。如果一对儿童不是朋友,那么他们的友谊值为0,在以后 阅读全文
posted @ 2024-01-28 17:11 liyishui 阅读(40) 评论(0) 推荐(0) 编辑
摘要:传送门:edu154/div2 A. Prime Deletion 题意:给定一个0-9的排列,要求一个长度>=2的子序列,使得该子序列是质数 做法:考虑31或者13即可。不过当时没有立刻想到,感觉1000以内的质数必有答案,打了暴力。用时就多了点。 Code #include<bits/stdc+ 阅读全文
posted @ 2023-09-20 11:33 liyishui 阅读(24) 评论(0) 推荐(0) 编辑
摘要:这场,非常快落!是难得对中国选手友好的时间(17:05) A观察一下,发现在连续的___中插入^就好,然后特判一下首尾,发现很像小学奥数的那个植树问题哇( 注意特判一下只有一个^ #include<bits/stdc++.h> using namespace std; void solve(){ s 阅读全文
posted @ 2023-04-16 09:40 liyishui 阅读(90) 评论(0) 推荐(0) 编辑
摘要:最近像中了诅咒.. 诅咒是吧><,签到都签地很难受甚至签不上。。 题意是给定01串,每次可以选择长度为奇数的子串进行翻转,求方案使得翻转后字典序最小 额,以为是抓着101去挪动,在这边卡了很久 正解是考虑长度为3的子串,发现奇偶位置上的数可以随意换 然后这道题就结束了 也不知道俺在干什么,学得好想d 阅读全文
posted @ 2022-08-11 21:59 liyishui 阅读(12) 评论(0) 推荐(0) 编辑
摘要:这道题真的卡常卡得我心累 两两点之间建边的代价是( i - j ) * ( pi - pj ),且pi是一个全排列 求最小生成树 # 首先找到一组合法的解,对 i 和 i+1 建边 得到的每条边权值会<=N-1 由此我们得到启发,最后的最小生成树,必然也存在一颗所有边权都<=N-1的 这是因为如果我 阅读全文
posted @ 2022-08-11 21:33 liyishui 阅读(41) 评论(0) 推荐(0) 编辑
摘要:赛时 这道题蛮心酸的 也蛮玄学的 赛时队友和我都没想到正解,队友愣是用其强大的算力写出几个不等式然后处理了一车细节... wa on test 5 我写了一个从后往前的贪心... wa on test 4 赛后看了题解发现里面有个N*logN,哪来的logN? 突然意识到喵的区间该不会是不保证有序的 阅读全文
posted @ 2022-08-09 10:11 liyishui 阅读(118) 评论(0) 推荐(0) 编辑
摘要:每个人没被邀请的话会有不开心值 给出若干个pair(a,b),如果a和b一起被邀请了,蛋糕++ 要求在使得蛋糕数是偶数的情况下,不开心值最小的方案 乱搞了好一会才发现结论 先考虑特殊情况:m是偶数,那么我们可以大方地邀请所有人过来 如果m是奇数,那么考虑可能的情况: 奇数+奇数+偶数+偶数,偶数+偶 阅读全文
posted @ 2022-07-28 11:12 liyishui 阅读(49) 评论(0) 推荐(0) 编辑
摘要:题目给定若干段颜色,还有每个颜色能涂的max个数 求能否满足相邻方格必须同一个颜色,规定相邻方格必定为4个,如果跨边界了也要考虑(比如第1行的上面的方块就是第n行 样例给出的染色方案是整列整列染过去,现场的时候思考了一下除了整列整行的染,有没有其他方案? 没有,因为如果有的话,必然存在锯齿一样的边界 阅读全文
posted @ 2022-07-28 10:54 liyishui 阅读(82) 评论(0) 推荐(0) 编辑
摘要:俺这题写得好傻逼q..qaq...>_< 第一个点是,想法是如果存在一个ai,往前移动后存在解,假设插入的地方是sum[ans] 那么应该有 sum[ans]+ai==tot-sum[ans]-ai 整理一下得到 sum[ans]*2+2*ai==tot; 如果ai移到的是后面,也同理 得到2*su 阅读全文
posted @ 2022-07-18 16:07 liyishui 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题目给定了两个变换 手模一下发现变换的实质是: 对于aaaa...aaab,可以通过第一种变换到任何位置 对于bbbb...bbbc,同理 (很多题目,给出某个operation然后什么什么的,一般要去找找这些operation的性质 那么如果我们想把当前字母变成a,显然无解 如果想要的是b,只需要 阅读全文
posted @ 2022-07-16 16:37 liyishui 阅读(42) 评论(0) 推荐(0) 编辑
摘要:就是说字符串每次会选取一个区间[L,R],然后把这段截取出来放到后面 给出q个询问,问结束所有操作后第k个字母是多少 注意到操作次数很小,C<=40,所以大概思路就是每次找到当前字母是从哪里转移来的就好 比如问第15个字母多少,存在某次操作后长度为17,前一次操作完长度是13,区间是7-10 那么这 阅读全文
posted @ 2022-07-16 16:27 liyishui 阅读(60) 评论(0) 推荐(0) 编辑
摘要:(这道题赛后补的,就是说现场根本没有时间开到www 依据题意,有两种操作,过程还蛮复杂的,又倒置又反转,然后我看到这种操作一般就懵逼了,然后捏? 这时候一般就需要手%啥的,就是画图模拟,找规律,一般都有一些”性质“的 比如这题的一些性质: #同一个操作使用两次,会撤销,相当于没有操作 那么..设想操 阅读全文
posted @ 2022-07-14 18:57 liyishui 阅读(187) 评论(0) 推荐(0) 编辑
摘要:有个小小的问题.. 就是为什么我们全队会都把这道题当成了模拟,然后在那边绞尽脑汁想可能漏掉的情况,现场没记错的话一共交了七发.. (至今没想起来我们是怎么wa掉辣么多发的!!而且实验室的队伍全过。了。。 正解:二分答案+贪心判断 二分的依据是答案显然满足单调性 贪心这个式子怎么来的?画张图! 最贪的 阅读全文
posted @ 2022-07-14 10:40 liyishui 阅读(94) 评论(0) 推荐(0) 编辑
摘要:题意有点难描述,俺懒,传送门:Problem - C - Codeforces (Unofficial mirror by Menci) 画图可知: 设x已知 点(a,b)要么在(2*k*x+c,c)上 要么在(2*k*x-c,c)上 分类讨论: 1,当点(a,b)要么在(2*k*x+c,c)上 那 阅读全文
posted @ 2022-07-11 21:26 liyishui 阅读(19) 评论(0) 推荐(0) 编辑
摘要:每次可对某个数进行*x的操作,操作k次 求最大or和 or:有1则1 那么容易想到贪心地把所有操作都加到同一个数上 但是我现场卡了 赛后听人家balabala...顿悟! 对最大的进行操作不一定是最优解,但是对拥有最高位1的数进行操作一定是最优解 (如果不能证明正确性,for循环一遍也才O(N),又 阅读全文
posted @ 2022-07-11 21:16 liyishui 阅读(32) 评论(0) 推荐(0) 编辑
摘要:这题的题意有点绕 给定序列a1,a2,a3... 要你确定一个x,使得a1-x,a2-x,a3-x使得weekness最小 定义poorness为abs(任意连续子序列的和),weekness是最大的poorness 就是,求一个x使得序列a1-x,a2-x,a3-x的连续子序列的和的绝对值的最大值 阅读全文
posted @ 2022-07-11 21:01 liyishui 阅读(37) 评论(0) 推荐(0) 编辑
摘要:给定若干个点对,每个点对包含的数字均在1-n之间 要求把这些点对分到两个set里面,使得每个set里面的n不重复 (话说我的第一反应是2-set然后慌张自己2-set不会打嘿嘿嘿) 一般这种匹配,冲突,点,都和图论有点关系 和图论有点关系就是要建图啦 俺的建图是把数字看成一个节点,如果存在点对,比如 阅读全文
posted @ 2022-07-11 20:50 liyishui 阅读(50) 评论(0) 推荐(0) 编辑
摘要:大意是说给你两个集合a和b,集合大小均为n,不能动a 但可以对b中的数字进行*2,或者/2的操作(次数不限) 问有没有可能把b变成a? 俺看到*2和/2,反应是懵逼的..但知道它们和位运算的对应关系后就有趣很多了~ 把一个数字变成二进制形式,*2就是把所有1的位置一起往左移动一位,/2就是往左(算是 阅读全文
posted @ 2022-07-11 20:40 liyishui 阅读(70) 评论(0) 推荐(0) 编辑
摘要:思路来自实验室一个work hard的学长~ 题意是说有一个点集,在树上,能否一笔画把这些点集走一遍 easy版本因为q在[1,5]之前,范围比较小,可以暴力 考虑什么情况下不能一笔画~ 如果对于一个点,它的分支有父亲fa、若干个儿子son 设想如果很多个分支上都有点集,显然没法一笔画走过去 当且仅 阅读全文
posted @ 2022-07-11 20:23 liyishui 阅读(126) 评论(0) 推荐(0) 编辑
摘要:首先想到如果拿出来的是1,肯定不会改变value 然后如果两次拿出的都是4,得到的结果是一样的,只能算一种 想统计除了1以外的数的个数(去重后的) 89tps~ 然后看了一下数据范围,a是可以等于0的 0的情况下,拿走非零的数肯定没改变 拿走0不一定: 如果只有一个0,拿走了0,答案是1 如果有两个 阅读全文
posted @ 2022-06-19 21:27 liyishui 阅读(36) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示