bzoj
Nicoleeeee
这个作者很懒,什么都没留下…
展开
-
bzoj1398: Vijos1382寻找主人 Necklace 最小表示法
题意 判断两个串是否循环同构。 分析 用最小表示法,简单地写一写 首先定义三个值,i,j,k分别是两个头和当前扫到的长度 如果相等就k++,不相等就i+=k+1,或者j+=k+1(大的加) 然后还有可能i=j的时候要手动错开 最后返回小的指针(也就是在串里面的指针就好了) 代码 #include <bits/stdc++.h> using namespace std; const in...原创 2019-11-18 19:29:41 · 135 阅读 · 0 评论 -
bzoj 4714: 旋转排列 容斥
题意 分析 这道题刚了一个早上 首先简化一下题意,ansk表示一个排列存在一个大小为k的置换 然后我们对于每个大小为k的置换进行容斥 (nk)(k−1)!fn−k−(nk)(n−kk)((k−1)!)2fn−2k2!+⋯(nk)(k−1)!fn−k−(nk)(n−kk)((k−1)!)2fn−2k2!+⋯\binom{n}{k} (k-1)! f_{n-k}-\frac{ \bino...原创 2018-04-24 17:25:49 · 217 阅读 · 0 评论 -
bzoj 5301: [Cqoi2018]异或序列 莫队
题意 给一个长度为n的a[i],m个询问,然后每个询问要找到在l到r以内的区间,连续的子串异或和为k,1≤n,m,a[i],k≤1051≤n,m,a[i],k≤1051\leq n,m,a[i],k\leq10^5 分析 一开始看错题了,以为是子序列,然后就用线段树维护线性基? 发现没有模数,在知道自己看错题了 然后就是一道裸的莫队,维护个前缀异或和 代码 #include <...原创 2018-05-02 15:35:34 · 179 阅读 · 0 评论 -
bzoj 5288: [Hnoi2018]游戏 随机化
题意 n个房间排成一排, 相邻房间之间有1道门,一部分的门上有锁,其余的门可以直接打开 告诉你有锁的门的这把锁的钥匙的位置,询问q次,问从S可否到达T 1≤n,p≤106,0≤m<n,1≤x,y,Si,Ti<n,保证x不重复1≤n,p≤106,0≤m<n,1≤x,y,Si,Ti<n,保证x不重复1\leq n,p \leq 10^6,0\leq m < n,1 \le...原创 2018-04-21 10:21:58 · 257 阅读 · 0 评论 -
bzoj3812: 主旋律 dp+容斥
题意 给你有向图,问有多少个强联通子图 分析 经典的计数问题啊,做第二遍了 fs=2s−∑t⊆s,t≠∅2cnts−t×2ways(s−t,t)gtfs=2s−∑t⊆s,t≠∅2cnts−t×2ways(s−t,t)gtf_s =2^s - \sum\limits_{t\subseteq s,t\not= \emptyset}2^{cnt_{s-t}} \times 2^{ways(s...原创 2018-04-25 19:21:43 · 204 阅读 · 0 评论 -
bzoj 1391: [Ceoi2008]order 最大权闭合子图
题意 给任务和机器,机器可以租可以买,然后问获利 分析 首先想到把机器拆点租的和买的 其实不用,任务连到机器租的价格就好了 想想就好?流完代表租比较好,不然的话买比较好 要加个当前弧优化 代码 #include <bits/stdc++.h> #define bin(i) (1<<(i)) #define pb push_back using names...原创 2018-04-26 20:52:18 · 203 阅读 · 0 评论 -
bzoj 3676: [Apio2014]回文串 回文自动机
题意 考虑一个只包含小写拉丁字母的字符串s。我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度。请你求出s的所有回文子串中的最 大出现值。 分析 回文自动机板子题,在这里记一个代码 其实很多地方和SAM很相似 跳fail的时候不用桶排,因为本来深度比较大的编号也自然比较大(SAM有新开一个点的操作,这个没有) 算是维护一个后缀回文链 代码 #incl...原创 2018-04-28 22:02:29 · 180 阅读 · 0 评论 -
bzoj 2648: SJY摆棋子 K-DTree
题意 这天,SJY显得无聊。在家自己玩。在一个棋盘上,有N个黑色棋子。他每次要么放到棋盘上一个黑色棋子,要么放上一个白色棋子,如果是白色棋子,他会找出距离这个白色棋子最近的黑色棋子。此处的距离是 曼哈顿距离 即(|x1-x2|+|y1-y2|) 。现在给出N<=500000个初始棋子。和M<=500000个操作。对于每个白色棋子,输出距离这个白色棋子最近的黑色棋子的距离。同一个格子可...原创 2018-04-28 22:41:25 · 163 阅读 · 0 评论 -
bzoj 5334: [Tjoi2018]数学计算 线段树
题意 小豆现在有一个数x,初始值为1. 小豆有Q次操作,操作有两种类型: 1 m: x = x * m ,输出 x%mod; 2 pos: x = x / 第pos次操作所乘的数(保证第pos次操作一定为类型1,对于每一个类型1 的操作至多会被除一次),输出x%mod 一共有t组输入(t ≤ 5) 对于每一组输入,第一行是两个数字Q, mod(Q ≤ 100000, mod ≤...原创 2018-05-20 12:02:33 · 363 阅读 · 2 评论 -
bzoj 5335: [TJOI2018]智力竞赛 二分+最小路径覆盖
题意 小豆报名参加智力竞赛,他带上了n个好朋友作为亲友团一块来参加比赛。 比赛规则如下: 一共有m道题目,每个入都有1次答题机会,每次答题为选择一道题目回答,在回答正确后,可以从这个题目的后续题目,直达题目答错题目或者没有后续题目。每个问题都会代表一个价值,比赛最后的参赛选手获得奖励价值等价于该选手和他的亲友团没有回答的问题中的最低价值。我们现在知道小豆和他的亲友团实力非常强,能够做出这次竞...原创 2018-05-27 11:18:29 · 295 阅读 · 0 评论 -
bzoj 5368: [Pkusc2018]真实排名 线段树+组合数
题意 小C是某知名比赛的组织者,该比赛一共有n名选手参加,每个选手的成绩是一个非负整数,定义一个选手的排名是 :成绩不小于他的选手的数量(包括他自己)。例如如果333位选手的成绩分别是[1,2,2],那么他们的排名分别是 [3,2,2]。拥有上帝视角的你知道所有选手的实力,所以在考试前就精准地估计了每个人的成绩,设你估计的第iii 个选手的成绩为Ai,且由于你是上帝视角,所以如果不发生任何...原创 2018-06-06 16:18:51 · 419 阅读 · 0 评论 -
bzoj 5286: [Hnoi2018]转盘 线段树
题意 给你个序列和Ti,要求你选一个起点,然后要不走到下一格要不停,求选完的最少需要时间 3≤n≤105,0≤m≤105,0≤Ti/Tx≤1053≤n≤105,0≤m≤105,0≤Ti/Tx≤1053\leq n \leq 10^5 , 0 \leq m \leq 10^5 , 0 \leq T_i / T_x \leq 10^5 分析 首先肯定是直走不停的 枚举从哪个点开始走,答案就...原创 2018-04-19 21:29:03 · 188 阅读 · 0 评论 -
bzoj 5285: [Hnoi2018]寻宝游戏 结论题
题意 给你一个N*M的矩阵,每一行之间加一个与或者或的符号,问最后能得到询问的0/1序列的方案数 对于 100%的数据,1≤n≤1000,1≤m≤5000,1≤q≤1000100%的数据,1≤n≤1000,1≤m≤5000,1≤q≤1000100\% 的数据,1≤n≤1000,1≤m≤5000,1≤q≤1000 分析 考虑中间加什么合法,对于每一位分开考虑 从下标从小到大把这一位取出...原创 2018-04-19 16:18:43 · 178 阅读 · 0 评论 -
bzoj 5245: [Fjwc2018]欧拉函数 线段树+bitset
题意 对于正整数 n,定义欧拉函数 φ(n) 为小于等于 n 且与 n 互质的正整数个数。例如 φ(1) = 1, φ(8) = 4。 给定正整数序列 a1, a2, · · · , an,请依次执行 q 个操作,操作有以下三种类型: 0 i x:修改 ai 的值为 x; 1 l r:查询 φ(al + al+1 + · · · + ar) 的值,输出这个值对 10^9 + 7 取模...原创 2018-04-01 20:13:23 · 666 阅读 · 0 评论 -
bzoj 4559: [JLoi2016]成绩比较 dp+拉格朗日插值
题意 G系共有n位同学,M门必修课。这N位同学的编号为0到N-1的整数,其中B神的编号为0号。这M门必修课编号为0到M-1的整数。一位同学在必修课上可以获得的分数是1到Ui中的一个整数。如果在每门课上A获得的成绩均小于等于B获得的成绩,则称A被B碾压。在B神的说法中,G系共有K位同学被他碾压(不包括他自己),而其他N-K-1位同学则没有被他碾压。D神查到了B神每门必修课的排名。这里的排名是指:如...原创 2018-04-02 12:06:21 · 318 阅读 · 2 评论 -
bzoj 2876: [Noi2012]骑行川藏 拉格朗日乘子法
题意 蛋蛋非常热衷于挑战自我,今年暑假他准备沿川藏线骑着自行车从成都前往拉萨。川藏线的沿途有着非常美丽的风景,但在这一路上也有着很多的艰难险阻,路况变化多端,而蛋蛋的体力十分有限,因此在每天的骑行前设定好目的地、同时合理分配好自己的体力是一件非常重要的事情。 由于蛋蛋装备了一辆非常好的自行车,因此在骑行过程中可以认为他仅在克服风阻做功(不受自行车本身摩擦力以及自行车与地面的摩擦力影响)。某一天...原创 2018-04-02 16:07:59 · 254 阅读 · 1 评论 -
bzoj 3622: 已经没有什么好害怕的了 dp+容斥
题意 给你n个a[i]和b[i],需要你把a[i],b[j]配对,使得a[i] > b[j] 的数目比b[j] > a[i]的数目恰好多k,问你组合的方案数,1<=n<=2000,0<=k<=n,a[i],b[j]两两互不相同 分析 好经典的题啊,首先我们一看到首先想到三个操作 1.这个a=b+k,a+b=n其实可以解出a和b然后变成a[i] ...原创 2018-04-02 19:43:59 · 225 阅读 · 0 评论 -
bzoj 4671: 异或图 容斥+斯特林反演+线性基
题意 定义两个结点数相同的图 G1 与图 G2 的异或为一个新的图 G, 其中如果 (u, v) 在 G1 与 G2 中的出现次数之和为 1, 那么边 (u, v) 在 G 中, 否则这条边不在 G 中. 现在给定 s 个结点数相同的图 G1…s, 设 S = {G1, G2, … , Gs}, 请问 S 有多少个子集的异 或为一个连通图? 分析 我们有一个想法,就是枚举子图的子集...原创 2018-04-03 09:20:55 · 539 阅读 · 0 评论 -
bzoj 2329: [HNOI2011]括号修复 splay
题意 一个合法的括号序列是这样定义的: 空串是合法的。 如果字符串 S 是合法的,则(S)也是合法的。 如果字符串 A 和 B 是合法的,则 AB 也是合法的。 现在给你一个长度为 N 的由‘(‘和‘)’组成的字符串,位置标号从 1 到 N。对这个字符串有下列四种操作: Replace a b c:将[a,b]之间的所有括号改成 c。例如:假设原来的字符串为:))())())(,那么执...原创 2018-04-03 19:37:37 · 163 阅读 · 0 评论 -
bzoj 5289: [Hnoi2018]排列 贪心
题意 给你nnn个整数a[i]a[i]a[i]和w[i]w[i]w[i],然后一个排列a[p[i]]a[p[i]]a[p[i]]合法当且仅当p[k]=a[p[j]],k<jp[k]=a[p[j]],k<jp[k] = a[p[j]] , k < j 问所有的合法排列中,w[p[1]]+w[p[2]]+...+w[p[n]]w[p[1]]+w[p[2]]+...+w[p[n]]w[p...原创 2018-04-22 14:58:48 · 159 阅读 · 0 评论 -
bzoj 5290: [Hnoi2018]道路 记忆化搜索
题意 给你n−1n−1n-1个城市,nnn个乡村是一个二叉树,一条边是公路,一条边是铁路,叶子是乡村,城市i向城市j连边必须满足i>ji>ji > j , 然后乡村有333个参数a[i],b[i],c[i]a[i],b[i],c[i]a[i],b[i],c[i],要求每一个城市选一条通向该城市的路进行翻修(也就是翻修n−1n−1n-1条道路),设乡村到首都城市111的路上,未翻修的公...原创 2018-04-22 16:13:07 · 203 阅读 · 0 评论 -
bzoj 3784: 树上的路径 点分治+dfs序+ST表
题意 给定一个N个结点的树,结点用正整数1..N编号。每条边有一个正整数权值。用d(a,b)表示从结点a到结点b路边上经过边的权值。其中要求a 分析 首先两点距离,先想到点分治 对于每个点,再对于每个分治重心,肯定可以找到分治中心中除这个点外的其它子树的最大值 然后我们建出点分树之后,跑出dfs序,然后找其它子树的最大值就是一段连续的区间 我们可以用st表维护区间最大的一个点的值,之后...原创 2018-04-18 21:48:14 · 215 阅读 · 0 评论 -
bzoj 5287: [Hnoi2018]毒瘤 虚树+dp
题意 给你一个图,边数-点数= -1 到10 ,然后求独立集个数 分析 首先是一棵树的话,我们就可以直接treedp 如果n=m的话,我们可以环套树dp 如果m>n的话,我们首先选择一个这样的做法 把不在生成树的边的两个端点标出来,就有20个点,然后枚举这些点的状态,然后每次跑一遍dp,这样的时间复杂度是O(3k2n)O(3k2n)O(3^{\frac{k}{2}}n),有k组点...原创 2018-04-23 19:14:19 · 276 阅读 · 0 评论 -
bzoj 3724: PA2014Final Krolestwo 欧拉回路+构造
题意 给定n个点m条边的无向连通图G(m为偶数),已知有k个点(k为偶数)度数为奇数。现在你要把它们两两配对,然后用k/2条连接这些点对的包含偶数条边的路径覆盖完G,需要保证每条边都恰好被覆盖一次(一条路径可以经过相同点)。无解输出NIE 1≤n,m≤250,000 分析 这道题很神 首先我们考虑如果没有路径长度为偶数应该怎么做,就是我们可以建一个新的点root,然后把奇数的点连上去...原创 2018-04-07 22:00:08 · 525 阅读 · 0 评论