随笔分类 -  乱搞

摘要:题意 有n(n<=3000)个人参与acm比赛,每个人都有一个解题数,现在要决定拿金牌的人数cnt1,拿银牌的人数cnt2,拿铜牌的人数cnt3,各自对应一个解题数区间[d1,c1],[d2,c2],[d3,c3] 现在要求: 1、d1-c2尽可能大 2、在1满足的前提下,d2-c3尽可能大 3、在 阅读全文
posted @ 2017-10-14 16:56 Chellyutaha 阅读(311) 评论(0) 推荐(0)
摘要:题意 分析 将一些点分成两个集合,很明显的最小割问题 设一个S、T,和S相连的点表示在B集合中,和T相连的点表示在A集合中 因为原题是完美值最大,我们转换一下,变成损失的价值最小,那么就是最小割问题了 对于两个点(u,v),如果有边相连,那么u->T v->T 权值是|u-v|;如果无边,那么S-> 阅读全文
posted @ 2017-10-04 22:01 Chellyutaha 阅读(172) 评论(0) 推荐(0)
摘要:题意 给一个长度为n(n<=1e5)的序列,如果一个位置i满足a[i-1]>a[i]或者a[i]>a[i+1],那么我们就称该位置是不合法的位置 先把序列中所有不合法的位置统一找出来,然后再一起删除,剩下的合并成一个新序列 再对新序列重复操作,直至最后每个位置都是合法的 现在你需要输出最后的序列长什 阅读全文
posted @ 2017-10-03 00:13 Chellyutaha 阅读(165) 评论(0) 推荐(0)
摘要:题目 https://nanti.jisuanke.com/t/17118 题意 有n个点0,1,2...n-1,对于一个点对(i,j)满足i<j,那么连一条边,边权为i xor j,求0到n-1的最大流,结果取模,n<=1e18 分析 可以写个最大流对数据找规律,但没找出来…… 然后只能取分析了, 阅读全文
posted @ 2017-09-22 22:14 Chellyutaha 阅读(178) 评论(0) 推荐(0)
摘要:题目 https://www.nowcoder.com/acm/contest/4/B题意 有n条南北流向的河并列排着,水流速度是v,现在你需要从西岸游到东岸,总共T个时间,你的游泳速度是u,问东岸的上岸点和西岸的下水点之间距离最大是多少? 分析 其实就是求南北方向位移的最大值 如果给定在一条河里的 阅读全文
posted @ 2017-09-18 18:11 Chellyutaha 阅读(146) 评论(0) 推荐(0)
摘要:题目 https://nanti.jisuanke.com/t/16958 题意 给定一个n(n<=500)个点的无向图,给每条边黑白染色,输出同色三角形最少的个数和对应的方案 分析 首先考虑给定一个染色完毕的无向图,如何求同色三角形的个数 同色三角形的个数=总的个数-异色三角形的个数 而一个异色三 阅读全文
posted @ 2017-09-13 22:58 Chellyutaha 阅读(182) 评论(0) 推荐(0)
摘要:题意 给定一个n个点m条边无向图(n,m<=1e5) 支持两个操作 1.添加一条边 2.询问点u到点v的所有路径中必经边的条数 操作数<=1e5 分析 第一眼看起来像是要动态维护无向图的边双连通分量,看似无法做 其实可以这样想,假设我们有一个树,那么这个树上的每一条边都是必经边 现在假设多加一条非树 阅读全文
posted @ 2017-09-13 17:15 Chellyutaha 阅读(325) 评论(0) 推荐(0)
摘要:题意 从1到n共计n(<=90)个物品,每个物品有一个价值a[i],儿子和爸爸轮流做游戏,儿子先手。儿子每次选价值最大的{最左边,最右边}的物品,如果价值一样大, 则选取最左边的物品。 爸爸每次可以取最左边或最右边的物品。 问你,爸爸想要输(价格严格小),而且差值尽可能少的最小差值是多少。 分析 首 阅读全文
posted @ 2017-09-13 16:44 Chellyutaha 阅读(325) 评论(0) 推荐(0)
摘要:题目: 分析: 对于一个确定的生成子图,很明显是在一个连通块上走,走完了再跳到另一个连通块上,假设连通块个数为cnt,那么答案一定是$min(a_{cnt-1},a_cnt,..,a_{n-1})$ 那现在的问题就是如何求出对于原图而言,连通块个数分别为1,2..n的生成子图的个数 我们去考虑每条边 阅读全文
posted @ 2017-09-05 21:10 Chellyutaha 阅读(282) 评论(0) 推荐(0)
摘要:补题进度:5/11 1001(双向BFS) 题意: 给你一个类似移子游戏,给你初始状态和终止状态,问初始状态到终止状态至少要移多少步,如果步数>20就-1 分析: 很明显的BFS了,不过普通的BFS会有4^20个节点,会TLE 这里因为移动方式可逆并且两个状态明确,所以可以双向BFS,在中间汇合就行 阅读全文
posted @ 2017-08-27 16:45 Chellyutaha 阅读(272) 评论(0) 推荐(0)
摘要:补题进度:9/13 1001 待填坑 1002(数学推导) 题意 有一个按顺序的n个点的k叉树,问每个点子树个数的异或和是多少(n,k<=1e18) 分析 可以先求出最大的d,满足d以上都是满K叉树,最后一层是一些零散的点 然后枚举每一层,每一层的点分为三种,一种是最下面的孩子深度是d+1,一种是部 阅读全文
posted @ 2017-08-16 19:31 Chellyutaha 阅读(409) 评论(0) 推荐(0)
摘要:题目 http://acm.hdu.edu.cn/showproblem.php?pid=6109 分析 对于相同的条件,明显直接并查集 对于不同的条件,可以用set来保存,并查集合并的时候也要对set启发式合并 还有另一种很奇妙的做法 如果我们只考虑一段[l..r]是否可行,那么我们可以离线,先挑 阅读全文
posted @ 2017-08-14 19:04 Chellyutaha 阅读(288) 评论(0) 推荐(0)
摘要:补题进度:7/11 1001(模意义下的卷积) 题意: 给出长度<=50000的两个数组A[] B[],保证数组中的值<=50000且A[]中数字两两不同,B[]中数字两两不同 有50000个询问,对于每个询问k,你需要回答有多少对(i,j)满足A[i]%B[j]==k,你只需要回答答案的奇偶性就行 阅读全文
posted @ 2017-08-10 20:23 Chellyutaha 阅读(298) 评论(1) 推荐(1)
摘要:补题进度:10/11 1001(不等式) 根据题意列不等式,解一解就行了 1002(套路) 题意: 给定一个随机产生的1e6*1e6的矩阵和一个1e3*1e3的矩阵,你要回答这个1e3*1e3的小矩阵出现在大矩阵的哪个位置 分析: 每隔1e3行 1e3列去建立一个check矩阵,看看这个check矩 阅读全文
posted @ 2017-08-06 22:59 Chellyutaha 阅读(228) 评论(0) 推荐(0)
摘要:补题进度:7/11 1001 待填坑 1002 待填坑 1003(set) 题意: 给定长度为n(n<=5e5)的数组(是n的一个排列)和一个整数k(k<=80),f[l,r]定义为区间[l,r]内的第k大的数,求所有区间的f值的和 分析: 倒过来考虑,考虑每个数a[i]对答案有多少贡献 将n个数字 阅读全文
posted @ 2017-08-06 19:11 Chellyutaha 阅读(274) 评论(0) 推荐(0)
摘要:补题进度:10/13 1001 待填坑 1002(kmp+递推) 题意: 有长度为n(<=50000)的字符串S和长度为m(m<=100)的字符串T,有k(k<=50000)组询问,每个询问(L,R),表示对于所有的(i,j)(1<=i<=L,R<=j<=n),将S[1..i]和S[j..n]拼接起 阅读全文
posted @ 2017-08-05 22:56 Chellyutaha 阅读(551) 评论(0) 推荐(0)
摘要:A =w= B QvQ C(并查集) 题意: 你需要根据要求构出一个字符串S 输入n个子串以及这些子串在S中出现的位置(有多个位置),输入数据保证不冲突 然后你根据这些已知子串去构一个字典序最小的S(也就是没涉及的位置填'a') 最终S的总长度<=2e6 分析: 不能直接暴力模拟,那样会TLE 给位 阅读全文
posted @ 2017-07-12 20:25 Chellyutaha 阅读(198) 评论(0) 推荐(0)
摘要:题目: https://loj.ac/problem/6171 分析: 设dp[i][j]表示从第i个点出发(正确节点),还可以有j个存档点(在i点使用一个存档机会),走到终点n的期望步数 那么 a[i][k]表示i点为存档点,从i点走到k点(正确节点)的期望步数(中间没有其它存档点) 那么a[i] 阅读全文
posted @ 2017-07-08 14:34 Chellyutaha 阅读(293) 评论(0) 推荐(0)
摘要:题目: https://loj.ac/problem/515 分析: 所有可能和的最大值是1e6 如果dp的话,dp[i][j]表示前i个数能否凑出和为j的数 这样是O(n^5)的 考虑到[j]可以用bitset优化,时间可以卡过去 bitset可以认为常数/64,并且bitset刚开始全部都是0, 阅读全文
posted @ 2017-07-06 11:13 Chellyutaha 阅读(202) 评论(0) 推荐(0)
摘要:题目: https://loj.ac/problem/6169 分析: 如果是要求两段序列全等的话,有一个套路: 对于{a1,a2,a3} {a4,a5,a6} 设一个素数p,那么如果p^a1+p^a2+p^a3==p^a4+p^a5+p^a6(模一个大质数意义下),那么这两个序列就是一模一样的 那 阅读全文
posted @ 2017-07-05 22:26 Chellyutaha 阅读(367) 评论(0) 推荐(0)