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

随笔分类 -  STL

摘要:有体积分别为$1,2,...,8$的物品,给定各自的数量$cnt_1,cnt_2,...,cnt_8$和$W$,求这些物品能组成的最大且不超过$W$的体积和。 $cnt_i\leq 10^{16},\ W\leq 10^{18}$。 阅读全文
posted @ 2021-03-06 16:00 SovietPower 阅读(175) 评论(0) 推荐(0)
摘要:给定一张图。三种操作: 1. 加入某条边$(u,v)$,边权$w$。 2. 删除新加入的第$k$条边。 3. 将新加入的第$k$条边的边权改为$x$。 每次操作后,输出当前所有经过1号点的环的最大价值。环的价值为所有边的异或和,可重复走过边且其边权计算多次。 $n\leq 500,\ q\leq 1000$。 阅读全文
posted @ 2019-04-11 14:36 SovietPower 阅读(204) 评论(0) 推荐(0)
摘要:无摘要.. 阅读全文
posted @ 2019-02-26 16:10 SovietPower 阅读(169) 评论(0) 推荐(0)
摘要:无摘要... 阅读全文
posted @ 2019-02-03 00:38 SovietPower 阅读(272) 评论(1) 推荐(1)
摘要: 阅读全文
posted @ 2019-01-25 22:30 SovietPower 阅读(175) 评论(0) 推荐(1)
摘要:差评差评差评 阅读全文
posted @ 2019-01-02 18:07 SovietPower 阅读(633) 评论(0) 推荐(0)
摘要:给定两个字符串S和T,求T在S中出现了几次,以及分别在哪些位置出现。T中可能有'?'字符,这个字符可以匹配任何字符。 阅读全文
posted @ 2018-11-29 22:29 SovietPower 阅读(417) 评论(0) 推荐(1)
摘要:sad 阅读全文
posted @ 2018-10-29 07:54 SovietPower 阅读(199) 评论(0) 推荐(0)
摘要:"题目链接" 五维偏序,对每一维维护bitset,表示哪儿为1(比它大),然后5个bitset与起来就能得到答案了。 具体实现可以用5\ n个bitset,按排名搞个前缀和。 复杂度$O(n^2/w)$(本质是暴力的优化)。 cpp //1284ms 565MB include include in 阅读全文
posted @ 2018-10-13 17:10 SovietPower 阅读(270) 评论(0) 推荐(0)
摘要:求$n$个数所有子集算术和的异或和。所有数的和$\leq2*10^6$。 阅读全文
posted @ 2018-09-29 08:59 SovietPower 阅读(147) 评论(0) 推荐(0)
摘要:"BZOJ" "洛谷" 删掉的数即三个区间数的并,想到bitset;查多个区间的数,想到莫队。 考虑bitset的每一位如何对应每个数的不同出现次数。只要离散化后不去重,每次记录time就可以了。 但是如果对所有询问开一个bitset会MLE。但是我们可以开M个bitset,每次处理M次询问。 注意 阅读全文
posted @ 2018-09-11 21:30 SovietPower 阅读(220) 评论(0) 推荐(0)
摘要:[TOC] Codeforces 1025 "比赛链接" 为什么我room里的都不hack别人。。那么明显的错。。 A.Doggo Recoloring B.Weakened Common Divisor 任意一对总要有个满足的,任找一对分解质因数就可以了。 分解质因数的过程很zz。。不用筛直接枚举 阅读全文
posted @ 2018-08-21 19:24 SovietPower 阅读(205) 评论(2) 推荐(0)
摘要:.......... 阅读全文
posted @ 2018-07-15 16:07 SovietPower 阅读(233) 评论(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 阅读(230) 评论(0) 推荐(0)
摘要:SAM求字符串的最小循环表示。 阅读全文
posted @ 2018-06-28 22:57 SovietPower 阅读(178) 评论(0) 推荐(0)
摘要:"题目链接" 从哪个点出发最短路径都是一样的(最后都要回来)。 脑补一下,最短路应该是按照DFS的顺序,依次访问、回溯遍历所有点,然后再回到起点。 即按DFS序排序后,Ans=dis(p1,p2)+dis(p2,p3)+...+dis(pk,p1)。每次修改一个点,用set维护即可。 int dis 阅读全文
posted @ 2018-06-06 17:30 SovietPower 阅读(154) 评论(0) 推荐(0)
摘要:"题目链接" m个方程,n个未知量,求解异或方程组。 复杂度比较高,需要借助bitset压位。 感觉自己以前写的(异或)高斯消元是假的。。而且黄学长的写法都不需要回代。 cpp //1100kb 324ms include include include include const int N=10 阅读全文
posted @ 2018-04-04 15:33 SovietPower 阅读(246) 评论(0) 推荐(0)
摘要:题目链接 \(Description\) 有k种饮料,浓度Ai给出,求用最少的体积配成n/1000浓度的饮料。 \(Solution\) 根据题意有方程 \((A1*x1+A2*x2+...+An*xn)/[(x1+x2+...+xn)*1000] = n/1000\) xi表示Ai选多少升(\(0 阅读全文
posted @ 2018-02-28 14:25 SovietPower 阅读(323) 评论(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 阅读(190) 评论(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 阅读(168) 评论(0) 推荐(0)