博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  STL

摘要:有体积分别为1,2,...,8的物品,给定各自的数量cnt1,cnt2,...,cnt8W,求这些物品能组成的最大且不超过W的体积和。 cnti1016, W1018阅读全文
posted @ 2021-03-06 16:00 SovietPower 阅读(151) 评论(0) 推荐(0) 编辑
摘要:给定一张图。三种操作: 1. 加入某条边(u,v),边权w。 2. 删除新加入的第k条边。 3. 将新加入的第k条边的边权改为x。 每次操作后,输出当前所有经过1号点的环的最大价值。环的价值为所有边的异或和,可重复走过边且其边权计算多次。 n500, q1000阅读全文
posted @ 2019-04-11 14:36 SovietPower 阅读(182) 评论(0) 推荐(0) 编辑
摘要:无摘要.. 阅读全文
posted @ 2019-02-26 16:10 SovietPower 阅读(160) 评论(0) 推荐(0) 编辑
摘要:无摘要... 阅读全文
posted @ 2019-02-03 00:38 SovietPower 阅读(259) 评论(1) 推荐(1) 编辑
摘要: 阅读全文
posted @ 2019-01-25 22:30 SovietPower 阅读(162) 评论(0) 推荐(1) 编辑
摘要:差评差评差评 阅读全文
posted @ 2019-01-02 18:07 SovietPower 阅读(589) 评论(0) 推荐(0) 编辑
摘要:给定两个字符串S和T,求T在S中出现了几次,以及分别在哪些位置出现。T中可能有'?'字符,这个字符可以匹配任何字符。 阅读全文
posted @ 2018-11-29 22:29 SovietPower 阅读(377) 评论(0) 推荐(0) 编辑
摘要:sad 阅读全文
posted @ 2018-10-29 07:54 SovietPower 阅读(184) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 五维偏序,对每一维维护bitset,表示哪儿为1(比它大),然后5个bitset与起来就能得到答案了。 具体实现可以用5\ n个bitset,按排名搞个前缀和。 复杂度O(n2/w)(本质是暴力的优化)。 cpp //1284ms 565MB include include in 阅读全文
posted @ 2018-10-13 17:10 SovietPower 阅读(252) 评论(0) 推荐(0) 编辑
摘要:求n个数所有子集算术和的异或和。所有数的和2106阅读全文
posted @ 2018-09-29 08:59 SovietPower 阅读(122) 评论(0) 推荐(0) 编辑
摘要:"BZOJ" "洛谷" 删掉的数即三个区间数的并,想到bitset;查多个区间的数,想到莫队。 考虑bitset的每一位如何对应每个数的不同出现次数。只要离散化后不去重,每次记录time就可以了。 但是如果对所有询问开一个bitset会MLE。但是我们可以开M个bitset,每次处理M次询问。 注意 阅读全文
posted @ 2018-09-11 21:30 SovietPower 阅读(212) 评论(0) 推荐(0) 编辑
摘要:[TOC] Codeforces 1025 "比赛链接" 为什么我room里的都不hack别人。。那么明显的错。。 A.Doggo Recoloring B.Weakened Common Divisor 任意一对总要有个满足的,任找一对分解质因数就可以了。 分解质因数的过程很zz。。不用筛直接枚举 阅读全文
posted @ 2018-08-21 19:24 SovietPower 阅读(195) 评论(2) 推荐(0) 编辑
摘要:.......... 阅读全文
posted @ 2018-07-15 16:07 SovietPower 阅读(218) 评论(0) 推荐(0) 编辑
摘要:"题目链接" "后缀数组做法见这" 。 直接SAM+map。对于每个节点其产生的不同子串数为len[i] len[fa[i]]。 cpp //15932kb 676ms include include include include // define gc() getchar() define M 阅读全文
posted @ 2018-06-29 08:24 SovietPower 阅读(216) 评论(0) 推荐(0) 编辑
摘要:SAM求字符串的最小循环表示。 阅读全文
posted @ 2018-06-28 22:57 SovietPower 阅读(162) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 从哪个点出发最短路径都是一样的(最后都要回来)。 脑补一下,最短路应该是按照DFS的顺序,依次访问、回溯遍历所有点,然后再回到起点。 即按DFS序排序后,Ans=dis(p1,p2)+dis(p2,p3)+...+dis(pk,p1)。每次修改一个点,用set维护即可。 int dis 阅读全文
posted @ 2018-06-06 17:30 SovietPower 阅读(142) 评论(0) 推荐(0) 编辑
摘要:"题目链接" m个方程,n个未知量,求解异或方程组。 复杂度比较高,需要借助bitset压位。 感觉自己以前写的(异或)高斯消元是假的。。而且黄学长的写法都不需要回代。 cpp //1100kb 324ms include include include include const int N=10 阅读全文
posted @ 2018-04-04 15:33 SovietPower 阅读(237) 评论(0) 推荐(0) 编辑
摘要:题目链接 Description 有k种饮料,浓度Ai给出,求用最少的体积配成n/1000浓度的饮料。 Solution 根据题意有方程 (A1x1+A2x2+...+Anxn)/[(x1+x2+...+xn)1000]=n/1000 xi表示Ai选多少升(\(0 阅读全文
posted @ 2018-02-28 14:25 SovietPower 阅读(270) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 先缩点,对于scc之间贡献即为szscc[i] szscc[j] 用f[i][j]表示scci是否能到sccj 拓扑排序,每次把now的f或上to的f 用bitset优化 cpp //63888kb 1080ms include include include include defi 阅读全文
posted @ 2018-02-28 11:06 SovietPower 阅读(178) 评论(0) 推荐(0) 编辑
摘要:"题目链接" cpp / 求异或和,容易想到,如果同一个数异或偶数次相当于0 ∑ai还不大,那想一下每个子集和出现多少次,显然只需要知道次数的奇偶,可以用bitset bit[i]=0/1表示子集和为i出现了偶数次/奇数次 有个简单的dp方程: f[x+a[i]]+=f[x] 对于一个x,bit(注 阅读全文
posted @ 2018-02-09 17:09 SovietPower 阅读(156) 评论(0) 推荐(0) 编辑

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