随笔分类 - BZOJ
摘要:"2406: 矩阵" 题意:自己去看吧,最小化每行每列所有元素与给定矩阵差的和的绝对值中的最大值 又带绝对值又带max不方便直接求 显然可以二分这个最大值 然后判定问题,给定矩阵每行每列的范围和每个元素的取值范围判断可行...和之前做过的一样了上下界可行流 1A好开心啊 cpp include in
阅读全文
摘要:"3876: [Ahoi2014]支线剧情" 题意:每次只能从1开始,每条边至少经过一次,有边权,求最小花费 裸上下界费用流...每条边下界为1就行了 注意要加上下界 边权 cpp include include include include using namespace std; define
阅读全文
摘要:"4108: [Wf2015]Catering" 题意:有一家装备出租公司收到了按照时间顺序排列的n个请求. 这家公司有k个搬运工.每个搬运工可以搬着一套装备按时间顺序去满足一些请求.一个搬运工从第i个请求的位置把东西搬到第j个请求的位置需要一些费用.公司的编号是1,请求的编号是2到n+1.所有搬运
阅读全文
摘要:"1927: [Sdoi2010]星际竞速" 题意:一个带权DAG,每个点恰好经过一次,每个点有曲速移动到他的代价,求最小花费 不动脑子直接上上下界费用流过了... s到点连边边权为曲速的代价,一个曲速移动等价于走到t再从s重新开始 搜了下题解发现全是普通费用流... 源向i+n连容量1,费用为能力
阅读全文
摘要:"2055: 80人环游世界" 题意:n个点带权图,选出m条路径,每个点经过val[i]次,求最小花费 建图比较简单 s拆点限制流量m 一个点拆成两个,限制流量val[i],需要用上下界 图中有边的连边,容量INF权值为花费 上下界最小费用流 那些容量为0的边不加也可以 该死我把费用流的加边打错了查
阅读全文
摘要:2502: 清理雪道 题意:任意点出发任意次每条边至少经过一次最小花费。 下界1,裸最小流.... cpp include include include include using namespace std; define fir first define sec second typedef
阅读全文
摘要:3698: XWW的难题 题意:(1)A[N][N]=0;(2)矩阵中每行的最后一个元素等于该行前N 1个数的和;(3)矩阵中每列的最后一个元素等于该列前N 1个数的和。给A中的数进行取整操作(可以是上取整或者下取整),使得最后的A矩阵仍然满足。要求A中的元素之和尽量大。 我不知花了多少个小时想为什
阅读全文
摘要:"4513: [Sdoi2016]储能表" 题意:求$$ \sum_{i=0}^{n 1}\sum_{j=0}^{m 1} max((i\oplus j) k,0) $$ 写出来好开心啊...虽然思路不完全是自己的但代码是按照自己的想法用记忆化搜索写的啊 小于k的直接不用考虑 考虑二进制上数位DP,
阅读全文
摘要:"3209: 花神的数论题" 题意:求$1到n\le 10^{15}$二进制1的个数的乘积,取模1e7+7 二进制最多50位,我们统计每种1的个数的数的个数,快速幂再乘起来就行了 裸数位DP..$f[i][j]$i位数j个1的方案数..不考虑天际线就是组合数... 比较坑的地方是本题求f要取模$ph
阅读全文
摘要:"3329: Xorequ" 题意:$\le n \le 10^18$和$\le 2^n$中满足$x\oplus 3x = 2x$的解的个数,第二问模1e9+7 $x\oplus 2x = 3x$ 不就是 $x\oplus (x include include include include usi
阅读全文
摘要:"1833: [ZJOI2010]count 数字计数" 题意:统计$[l,r]$所有数中每个数码出现次数 之前做的数位DP都是统计数有多少个,这个是统计数码 我们一个一个数码统计 如果不考虑前导0和天际线,我们可以直接递推i位数中每个数码出现次数$f[i]=f[i 1] 10+10^{i 1}$
阅读全文
摘要:基础题复习 这次用了dfs写法,感觉比较好 cpp include include include include using namespace std; typedef long long ll; const int N=10; inline int read(){ char c=getchar
阅读全文
摘要:Miller Rabin & Pollard rho 很久之前就学过了...今天重学一遍 利用费马小定理,但不能判断伪素数的情况 基于a的伪素数n: $a^{n 1} \equiv 1 \pmod n$ 如果对于所有与n互质的数都成立,则n为Carmichael数 定理: 对于质数$p$和$e \g
阅读全文
摘要:"3551: [ONTAK2010]Peaks加强版" 题意:带权图,多组询问与一个点通过边权$\le lim$的边连通的点中点权k大值,强制在线 "PoPoQQQ大爷题解传送门" 说一下感受: 容易发现一定选最小生成树上的边,然后用到了一个神奇的东西 Kruskal重构树 进行Kruskal过程中
阅读全文
摘要:"3123: [Sdoi2013]森林" 题意:一个森林,加边,询问路径上k小值。保证任意时刻是森林 LCT没法搞,树上kth肯定要用树上主席树 加边?启发式合并就好了,小的树dfs重建一下 注意 1. 测试点编号不是数据组数!!! 2. 加边的时候要更新邻接链表啊,并且fa要清空 3. 并查集维护
阅读全文
摘要:"3545: [ONTAK2010]Peaks" 题意:带权图,多组询问与一个点通过边权$\le x$的边连通的点中点权k大值 又读错题了,输出点一直WA,问的是点权啊 本题加强版强制在线了,那这道题肯定离线啊,边权从小到大加边不就是煞笔提吗 奇怪的是合并的时候 先序遍历 才行...中序和后序都T了
阅读全文
摘要:1483: [HNOI2009]梦幻布丁 题意:一个带颜色序列,一种颜色合并到另一种,询问有多少颜色段 一种颜色开一个链表,每次遍历小的合并到大的里,顺带维护答案 等等,合并方向有规定? 令col[x]代表给颜色x分配的编号,直接交换编号 WA了三次我还有救吗 cpp include include
阅读全文
摘要:2733: [HNOI2012]永无乡 题意:加边,询问一个连通块中k小值 终于写了一下splay启发式合并 本题直接splay上一个节点对应图上一个点就可以了 并查集维护连通性 合并的时候,把size小的树的所有节点插入到size大的中,每个点最多插入log次,复杂度$O(nlogn insert
阅读全文
摘要:"4455: [Zjoi2016]小星星" 题意:一个图删掉一些边形成一棵树,告诉你图和树的样子,求让图上的点和树上的点对应起来有多少方案 看了很多题解又想了一段时间,感觉题解都没有很深入,现在大致有了自己的想法吧 如果直接上树形DP的话,必须要保存当前子树对应了图上的点的集合才行,要不然做不到1对
阅读全文
摘要:题意:空间中有n个点,任意3个点不共线。每两个点用红线或者蓝线连接,如果一个三角形的三边颜色相同,那么称为同色三角形。给你一组数据,计算同色三角形的总数。 考虑补集,异色三角形 每个点的边红色和蓝色两条边组成的一定是异色 每个异色会算两遍 cpp include include include in
阅读全文