08 2018 档案

摘要:题目大意:给你一串数字,多次询问区间内数字的种类数题解:莫队卡点:洛谷数据加强,开了个$O(2)$C++ Code: 阅读全文
posted @ 2018-08-26 19:44 Memory_of_winter 阅读(149) 评论(0) 推荐(0)
摘要:题目大意:有一个数$x$和取模的数$mod$,初始为$1$,有两个操作: 题解:对时间建一棵线段树,记录区间积就可以了 卡点:无 C++ Code: 阅读全文
posted @ 2018-08-25 16:29 Memory_of_winter 阅读(208) 评论(0) 推荐(1)
摘要:题目大意:有$n$个数,$q$个操作。两种操作: 题解:分块,对于在整块修改改$tag$,非整块暴力修改,查询整块用$lower\_bound$,非整块暴力 卡点:无C++ Code: 阅读全文
posted @ 2018-08-25 15:39 Memory_of_winter 阅读(188) 评论(0) 推荐(0)
摘要:题目大意:有一个序列$s_i$(最大的数为$k$),有$m$个询问,询问$[l,r]$中$\sum_{i=1}^{k}c_i^2$($c_i$表示数字$i$在$[l,r]$中的出现次数)。 题解:莫队 卡点:为什么我奇偶性优化会锅???(后记:发现了,用异或时,若($a.l==b.l\&\&a.r= 阅读全文
posted @ 2018-08-25 14:03 Memory_of_winter 阅读(155) 评论(0) 推荐(0)
摘要:题目大意:给你$n$个数,$m$个询问($n,m\leqslant 10^5$),有三种 注意,两个数位置可以相同 题解:莫队。 这复杂度是$O(m(\sqrt{n}+C))$($C=\max\{\max\{x_i\},\max\{s_i\}\}$,题目中给的是$C\leqslant 10^5$) 阅读全文
posted @ 2018-08-25 12:55 Memory_of_winter 阅读(222) 评论(0) 推荐(0)
摘要:题目大意:$n$个坐标和时间。需要找到最小的一段区间使得这一段区间最大时间减去最小时间的差大于$d$ 题解:发现对于较优的区间$[l_i,r_i]$(即对于这个左端点,$r_i$是第一个符合条件的),对于$l_i<l_j$,必有$r_i\leqslant r_j$。所以$r$是单调递增的。可以枚举$ 阅读全文
posted @ 2018-08-25 10:27 Memory_of_winter 阅读(222) 评论(0) 推荐(0)
摘要:题目大意:有$n$个人有$n$个任务,每个人执行每个任务有不同的成功率,每个人只能执行一个任务,求所有任务都执行的总的成功率。 题解:可以跑最大费用最大流,把成功率取个$log$,最后$exp$回去就好了。 卡点:1.费用流边流量修改写挂 2.为判断无解情况($exp(0)==1$) 3.题目中没有 阅读全文
posted @ 2018-08-25 08:28 Memory_of_winter 阅读(294) 评论(0) 推荐(0)
摘要:题目大意:有$n$个节点,第$i$个节点有一个弹力系数$k_i$,当到达第$i$个点时,会弹到第$i+k_i$个节点,若没有这个节点($i+k_i>n$)就会被弹飞。有两个操作: 题解:建一个节点标号$n+1$,所有大于$n$的位置都连向这,表示会被弹飞。其他每个节点向会被弹到的节点连边($i->k 阅读全文
posted @ 2018-08-23 22:01 Memory_of_winter 阅读(183) 评论(0) 推荐(0)
摘要:题目大意:有$n$对夫妻和$m$对情人,如果一对情人中的两人都离婚了,那么他们可以结为夫妻。对于每一对夫妻,若他们离婚后所有人依然可以结婚,那么就是不安全的,否则是安全的。问每一对夫妻是否安全。题解:考虑$tarjan$缩点。把图转成有向图,夫妻之间$G->B$,情人之间$B->G$,$tarjan 阅读全文
posted @ 2018-08-23 19:06 Memory_of_winter 阅读(188) 评论(0) 推荐(0)
摘要:题目大意:求出一个无向图的割点 题解:$tarjan$,若一个点为根节点(起始节点),只需要判断它有多少个儿子,若不是根节点,假如$low_v\geqslant DFN_v$就说明$v$没有返祖边,即该节点$u$为割点。 卡点:1.多输出了一些数 2.没有去重 C++ Code: 阅读全文
posted @ 2018-08-23 17:51 Memory_of_winter 阅读(186) 评论(0) 推荐(0)
摘要:题目大意:给你$a,b,c,d,k(1\leqslant a,b,c,d,k\leqslant 5\times10^4)$,求$\displaystyle\sum\limits_{x=a}^b\displaystyle\sum\limits_{y=c}^d[(x,y)==k]$题解:下文中令$n\l 阅读全文
posted @ 2018-08-23 15:17 Memory_of_winter 阅读(120) 评论(0) 推荐(0)
摘要:题目大意:设把$x$分解质因数的结果为$x=p_1^{k_1}p_2^{k_2}\cdots p_n^{k_n}$,令$f(x)=(k_1+1)(k_2+1)\cdots (k_n+1)$,求$\sum\limits_{i=l}^r f(i)(1\leqslant l\leqslant 10^{14 阅读全文
posted @ 2018-08-23 13:29 Memory_of_winter 阅读(150) 评论(0) 推荐(0)
摘要:题目大意:有$T(T\leqslant 1000)$组数据,每组数据给你$n,m(1\leqslant n,m \leqslant 10^6)$,求出$\displaystyle\prod\limits_{i=1}^n \displaystyle\prod\limits_{j=1}^m F[(i,j 阅读全文
posted @ 2018-08-23 10:52 Memory_of_winter 阅读(171) 评论(0) 推荐(0)
摘要:题目大意:有$T(T\leqslant 3\times 10^5)$组数据,每组数据给你$n(n\leqslant 10^6)$,求$\displaystyle\sum\limits_{i=1}^n [i,n]$($[a,b]$表示$a$和$b$的$LCM$)题解:$$\def\dsum{\disp 阅读全文
posted @ 2018-08-23 08:12 Memory_of_winter 阅读(201) 评论(0) 推荐(0)
摘要:题目大意:有一棵树,两个修改 题解:树链剖分,比较一下修改前后值的变化,即为答案 卡点:1.边忘记开两倍 C++ Code: 阅读全文
posted @ 2018-08-22 18:50 Memory_of_winter 阅读(218) 评论(0) 推荐(0)
摘要:题目大意:给出一个$N$次函数,保证在范围$[l,r]$内存在一点x,使得$[l,x]$上单调增,$[x,r]$上单调减。试求出$x$的值。 题解:求导,就变成了求零点,二分答案即可 卡点:无 C++ Code: 阅读全文
posted @ 2018-08-22 15:42 Memory_of_winter 阅读(182) 评论(0) 推荐(0)
摘要:题目大意:给你$n(1\leqslant n\leqslant 10^7)$,求$\displaystyle\sum\limits_{x=1}^n\displaystyle\sum\limits_{y=1}^n[(x,y)\in \rm prime]$($(a,b)$为$a,b$的$gcd$) 题解 阅读全文
posted @ 2018-08-22 13:57 Memory_of_winter 阅读(242) 评论(0) 推荐(0)
摘要:题目大意:多组数据(小于等于$10000$),每组数据给你$n,m(1\leqslant n,m\leqslant 10^7)$,求$\displaystyle\sum\limits_{x=1}^n\displaystyle\sum\limits_{y=1}^m[(x,y)\in \rm prime 阅读全文
posted @ 2018-08-22 13:10 Memory_of_winter 阅读(211) 评论(0) 推荐(0)
摘要:题目大意:给定$n$个点以及每个点的权值,要你处理接下来的$m$个操作。操作有$4$种。操作从$0到3编号。点从1到n编号。 题解:$LCT$ 卡点:无 C++ Code: 阅读全文
posted @ 2018-08-22 09:14 Memory_of_winter 阅读(201) 评论(0) 推荐(0)
摘要:题目大意:给你一棵树,和$3$个节点,要你找到树上的一个点,使得三个点到这个点的距离和最小,并输出个距离题解:令三个点为$a,b,c$,$i,j$两点的$lca$为$lca_{i,j}$,第$i$个点的深度为$depth_i$,$i,j$两点之间的距离为$d_{i,j}$。所以会发现$lca_{a, 阅读全文
posted @ 2018-08-21 18:38 Memory_of_winter 阅读(148) 评论(0) 推荐(0)
摘要:题目大意:有$n$个洞穴,$m$条指令,指令有三种 (数据保证合法) 题解:$LCT$(潘佳奇的板子) 卡点:无(潘佳奇的板子)C++ Code: 阅读全文
posted @ 2018-08-21 15:35 Memory_of_winter 阅读(179) 评论(0) 推荐(0)
摘要:题目大意:给定一个$n\times m$的棋盘,问有多少种不同的放置炮的方案使得任意两个炮不能互相攻击。 题解:$f_{i,j,k}$表示到了第$i$行,前面有$j$列有一个炮,有$k$列有两个炮 转移懒得写,见代码 卡点:无 C++ Code: 阅读全文
posted @ 2018-08-20 16:50 Memory_of_winter 阅读(117) 评论(0) 推荐(0)
摘要:题目大意:有一颗 $N$ 个节点的树,节点用 $1,2,\cdots,N$ 编号。你要给它染色,使得相邻节点的颜色不同。有 $M$ 种颜色,用 $1,2,\cdots,M$ 编号。每个节点可以染 $M$ 种颜色中的若干种,求不同染色方案的数量 题解:树形$DP$,$f_{i,j}$表示第$i$个点, 阅读全文
posted @ 2018-08-20 15:02 Memory_of_winter 阅读(164) 评论(0) 推荐(0)
摘要:题目大意:给定一个有重边,边有权值的无向图。从某一个点出发,求到达所有的点需要的最少费用,并且限制两点之间只有一条路径。费用的计算公式为:所有边的费用之和。而边$x->y$的费用就为:$y$到初始点的之间点的个数(包括起始点) $\times$ 边权。 题解:状压$DP$,令$f_{i,j}$表示当 阅读全文
posted @ 2018-08-20 11:53 Memory_of_winter 阅读(95) 评论(0) 推荐(0)
摘要:题目大意:略 题解:模拟 卡点:1.数组忘清空 (考场代码风格独特。。。) C++ Code: #include<cstdio> #include<cstring> #include<iostream> using namespace std; const int inf=2000; int T,n 阅读全文
posted @ 2018-08-20 10:53 Memory_of_winter 阅读(198) 评论(0) 推荐(0)
摘要:题目大意:有 $k$ 种类型和 $n$ 个题目,每个题目会适应部分类型,第$i$个类型需要$s_i$的题,一道题只能满足一种类型,现要求出满足所有类型的题目的方案 题解:看到匹配,想到网络流,源点向试题连一条容量为$1$的边,试题向每个可以的类型连一条容量为$1$的边,类型向汇点连容量为需要的量的边 阅读全文
posted @ 2018-08-19 20:20 Memory_of_winter 阅读(148) 评论(0) 推荐(0)
摘要:题目大意:有一张$n$个点$m$条边的图,每个点有一个权值$w_i$,有边权,询问从$S$到$T$的路径中,边权和小于$s$,且$\max\limits_{路径经过k}\{w_i\}$最小,输出这个最小值,若到达不了,输出$-1$ 题解:看到最大值最小,想到二分答案,二分这个最大值,每次对这个二分的 阅读全文
posted @ 2018-08-18 21:40 Memory_of_winter 阅读(144) 评论(0) 推荐(0)
摘要:题目大意:要求给 $n$ 个人分配糖果,记第 $i$ 个人分配到的糖果数为 $S_i$,要求 $S_i > 0$。另外有 $k$ 个限制,每个限制形如 $X A B(X \in [1,5])$,分别表示: $X=1,S_A = S_B$ $X=2,S_A < S_B$ $X=3,S_A \geq S 阅读全文
posted @ 2018-08-18 19:03 Memory_of_winter 阅读(179) 评论(0) 推荐(0)
摘要:题目大意:给出两个$n\times n$的矩阵,$m$次询问它们的积中给定子矩阵的数值和。 题解:令为$P\times Q=R$ $$\begin{align*}&\sum\limits_{i=a}^c\sum\limits_{j=b}^dR[i][j]\\=&\sum\limits_{i=a}^c 阅读全文
posted @ 2018-08-18 16:18 Memory_of_winter 阅读(170) 评论(0) 推荐(0)
摘要:题目大意:有$n-1$个数为$2\sim n$,其中$n\leq 500$,两个人选数,要求两个人选的数中,每个人选的数都和另一个人选的所有数互质。问选的方法总数。 题解:状压$DP$,由于一个数$N$最多有一个大于$\sqrt{N}$的质因子,可以对小于等于$\sqrt{N}$的质因子和大于$\s 阅读全文
posted @ 2018-08-18 14:28 Memory_of_winter 阅读(128) 评论(0) 推荐(0)
摘要:题目大意:给你一棵树,每个点有一个分类和一个值。有四种操作: 题解:树链剖分,对每一个分类建一棵动态开点线段树就好了。 卡点:1.询问是传根写成了传编号 C++ Code: 阅读全文
posted @ 2018-08-17 15:18 Memory_of_winter 阅读(134) 评论(0) 推荐(0)
摘要:题目大意:给定一个序列$s$,每个人每轮可以从两端(任选一端)取任意个数的整数,不能不取。在两个人都足够聪明的情况下,求先手的最大得分。 题解:设$f_{i,j}$表示剩下$[i,j]$,先手的最大得分。令$sum_{i,j}=\sum\limits_{k=i}^j s_k$ $$\therefor 阅读全文
posted @ 2018-08-17 12:40 Memory_of_winter 阅读(147) 评论(0) 推荐(0)
摘要:题目大意:给你$m,a,c,X_0,n,g$,求$X_{n+1}=(a\cdot X_n+c) \bmod{m}$,最后输出对$g$取模 题解:矩阵快速幂+龟速乘,这里用了$long\;double$强转 卡点:无 C++ Code: 阅读全文
posted @ 2018-08-17 10:17 Memory_of_winter 阅读(175) 评论(0) 推荐(0)
摘要:题目大意:给你一个长度为$n$的序列$s$。$Q$个询问,问在$s$中的左端点在$[a,b]$之间,右端点在$[c,d]$之间的子段中,最大的中位数。 强制在线。 题解:区间中位数?二分答案,如果询问区间是给定的,对于每个询问,二分答案是多少,然后只要求出这个区间中有多少个数比二分的数大就行了,这就 阅读全文
posted @ 2018-08-17 08:41 Memory_of_winter 阅读(346) 评论(0) 推荐(0)
摘要:题目大意:有 $n$ 盏灯环形排列,顺时针依次标号为 $1\cdots n$。初始时刻为 $0$ ,初始时刻第 $i$ 盏灯的亮灭 $a_i$, $0$ 表示灭, $1$ 表示亮。下一时刻每盏灯的亮灭取决于当前时刻这盏灯与顺时针方向下一盏灯的亮灭。若两盏灯状态相同,则下一时刻该灯灭,否则该灯亮。试求 阅读全文
posted @ 2018-08-16 14:28 Memory_of_winter 阅读(180) 评论(0) 推荐(0)
摘要:题目大意:给定序列$A$,序列中的每一项$A_i$有删除代价$B_i$和附加属性$C_i$。请删除若干项,使得$A$的最长上升子序列长度至少减少$1$,且代价最小,并输出方案。若有多种方案,$C$的字典序最小的一种。 题解:如果只要求输出代价,令$f_i$表示到$i$的最长上升子序列长度,把所有$j 阅读全文
posted @ 2018-08-16 11:19 Memory_of_winter 阅读(225) 评论(0) 推荐(0)
摘要:题目大意:一棵树,支持三个操作, $CHANGE\;u\;t:$ 把结点$u$的权值改为$t$ $QMAX\;u\;v:$ 询问从点$u$到点$v$的路径上的节点的最大权值 $QSUM\;u\;v:$ 询问从点$u$到点$v$的路径上的节点的权值和 题解:裸的树链剖分 卡点:线段树区间修改我不知道哪 阅读全文
posted @ 2018-08-15 18:07 Memory_of_winter 阅读(153) 评论(0) 推荐(0)
摘要:题目大意:有一个$n\times m$的棋盘,有的格子是障碍。要选择一些格子来放置士兵,一个空格子里可放一个士兵。希望第$i$行至少放置了$l_i$个士兵, 第$j$列至少放置了$c_j$个士兵。要求使用最少个数的士兵。输出个数。 题解:先考虑无解,只要所有能放士兵的地方都放上了士兵,仍然存在行或列 阅读全文
posted @ 2018-08-15 14:37 Memory_of_winter 阅读(137) 评论(0) 推荐(0)
摘要:题目大意:有一个$n\times m$的矩阵,$(1 \leq m \leq 12; 1 \leq n \leq 12)$,想在其中的一些格子中种草,一些格子不能种草,且两块草地不相邻。问有多少种种植方案。 题解:状压$DP$,$f_{i,j}$表示处理到了第$i$行,当前状态为$j$的方案数 卡点 阅读全文
posted @ 2018-08-15 13:19 Memory_of_winter 阅读(158) 评论(0) 推荐(0)
摘要:题目大意:有一棵以$1$为根的有根树,有$n$个点,每个节点初始有颜色$c_i$。有两种操作: $1 v c:$将以$v$为根的子树中所有点颜色更改为$c$ $2 v:$ 查询以$v$为根的子树中的节点有多少种不同的颜色 题解:只有$60$种颜色,可以考虑用一个$long\;long$把颜色状压,用 阅读全文
posted @ 2018-08-15 10:34 Memory_of_winter 阅读(141) 评论(0) 推荐(0)
摘要:题目大意:给一个集合$S$($1\leq S_i\leq 70$),选择一个非空子集,使它们的乘积等于某个整数的平方的方法的数量。 求方案数,若两种方法选择的元素的索引不同,则认为是不同的方法。 题解:$70$以内的质数只有$19$个,考虑状压$DP$,$f_{i,j}$表示这个数为$i$,若$j$ 阅读全文
posted @ 2018-08-15 09:45 Memory_of_winter 阅读(160) 评论(0) 推荐(0)
摘要:题目大意:给你两个一位数,要你求出其中的较大值(使用$Brainf**k$) ($Brainf**k$简介,相当于有一个数组和一个指针,","为把数组当前位赋值为读入的数,"."为输出当前位置的值,"<"为指针左移一位(最左端为$0$),">"为指针右移一位,"+"数组当前位置的值加一,"-"数组当 阅读全文
posted @ 2018-08-14 19:09 Memory_of_winter 阅读(262) 评论(0) 推荐(0)
摘要:题目大意:有$n$个人,$m$个政党,每个人都想投一个政党,但可以用一定的钱让他选你想让他选的政党。 现在要$1$号政党获胜,获胜的条件是:票数严格大于其他所有政党。求最小代价 题解:暴力枚举其他政党的最多得票,然后把超过的贪心收买,若$1$号政党得票不够,就继续贪心收买,更新答案,复杂度$O(n^ 阅读全文
posted @ 2018-08-14 16:38 Memory_of_winter 阅读(240) 评论(0) 推荐(0)
摘要:题目大意:一开始有 $2n$ 张牌,每张牌上都写着一个数字 $w_i$,有两种的牌,每种类型各 $n$ 张: 1.攻击牌:打出后对对方造成牌上的数字的伤害。 2.强化牌:打出后,设数字为 $x$,则其他剩下的攻击牌的数字都会乘上 $x$。保证强化牌上的数字都大于$1$。 现在会等概率随机从卡组中抽出 阅读全文
posted @ 2018-08-14 15:06 Memory_of_winter 阅读(187) 评论(0) 推荐(0)
摘要:题目大意:给你一棵树,每次挑选这棵树的两个叶子,把答案加上他们之间的距离,然后将其中一个点去掉,问你距离之和最大可以是多少。要求输出方案 题解:求出直径和直径上的点,因为树上一个点可以提供的最大贡献为它到直径中的一个端点的距离,于是把不在直径上的点先删去(注意要按深度一个个删,因为要求删叶子)。 卡 阅读全文
posted @ 2018-08-14 13:22 Memory_of_winter 阅读(182) 评论(0) 推荐(0)
摘要:题目大意:有一个英雄和若干个所从,克苏恩会攻击$K$次,每次回随机攻击对方的一个人,造成$1$的伤害。现在对方有一名克苏恩,你有一些随从。如果克苏恩攻击了你的一名随从,若这名随从不死且你的随从数量不到$7$,这名随从会召唤一个拥有$3$点血的新随从(血量到$0$时会死亡)。已知克苏恩攻击次数,场上一 阅读全文
posted @ 2018-08-14 09:05 Memory_of_winter 阅读(165) 评论(0) 推荐(0)
摘要:题目大意:输入$n$个正整数,($1\leq n\leq 10000$),要求输出最长的连号的长度。(连号指从小到大连续自然数) 题解:考虑从小到大连续自然数差分为$1$,所以可以把原数列差分(后缀自动机不怎么会写啊),查询串为$1,11,111,\dots,111\dots(n-1个1)$,把它们 阅读全文
posted @ 2018-08-13 20:12 Memory_of_winter 阅读(606) 评论(0) 推荐(0)
摘要:题目大意:$n$ 个灯开关游戏,按 $i$ 后 $i$ 的约数都改变状态。给定初始状态,希望所有灯都灭掉。随机选择一个灯,如果当前最优策略下次数 $\leq k$ 直接用最优策略。问期望步数乘上 $n!$ 对$100003$取模 题解:考虑从大到小按,显然如果当前这盏是亮的就按。可以证明这是最优的一 阅读全文
posted @ 2018-08-13 18:58 Memory_of_winter 阅读(180) 评论(0) 推荐(0)
摘要:题目大意:请你找出$m$个和为$n$的正整数,他们的乘积要尽可能的大。输出字典序最小的方案 题解:对于一些数,若它们的和相同,那么越接近它们的乘积越大。 卡点:无 C++ Code: 阅读全文
posted @ 2018-08-13 16:07 Memory_of_winter 阅读(377) 评论(0) 推荐(0)
摘要:题目大意:ことり有$n$个设备,每个设备每秒共减少$a_i$能量(也就是说每一瞬间都在减少,而不是在一个时刻突然减少),开始前有$b_i$能量,ことり还有一个充电宝,无限能量,每秒共可以提供$p$的能量(也是每一瞬间都在提供),求ことり 最多可以用多久 题解:二分答案,比较这段时间中充电宝可以提供的 阅读全文
posted @ 2018-08-13 13:47 Memory_of_winter 阅读(320) 评论(0) 推荐(0)
摘要:题目大意:有一个长度为 $n$ 的字符串,由 $o,x,?$ 三种字符组成。$?$ 代表 $o,x$ 各有 $50\%$ 概率。求期望的连续 $o$ 长度的平方和。 题解:令$f_i$为到第$i$位的答案,$d_i$为到第$i$位前连续一段$o$的个数的期望,$x_i$为第$i$位为$o$的概率($ 阅读全文
posted @ 2018-08-13 11:40 Memory_of_winter 阅读(158) 评论(0) 推荐(0)
摘要:题目大意:有一个长度为 $n$ 的 $01$ 序列,每一段极大的连续 $1$ 的价值是 $L^3$(长度为 $L$)。现在给定 $n$ 个实数表示该位为 $1$ 的概率,求期望总价值。 题解: 令$f_i$为到第$i$位的答案,$a_i$为到第$i$位前连续一段$1$的个数的期望,$b_i$为到第$ 阅读全文
posted @ 2018-08-13 11:14 Memory_of_winter 阅读(150) 评论(0) 推荐(0)
摘要:题目大意:给定 $DAG$ 带边权连通图,保证所有点都能到达终点 $n$,每个点等概率沿边走,求起点 $1$ 到终点 $n$ 的期望长度。 题解:拓扑,然后倒着$DP$就可以了 卡点:无 C++ Code: 阅读全文
posted @ 2018-08-13 10:29 Memory_of_winter 阅读(199) 评论(0) 推荐(0)
摘要:题目大意:给定$n$个数,第$i$个数为$a_i$,记这$n$个数的所有非空子集的和分别为$s_1,s_2,\dots,s_{2^n-1}$;求$s$的中位数。 题解:假设考虑的是所有子集,包括空子集。 令$sum=\sum\limits_{t=1}^n a_i$。 若有一个子集和为$x$,存在另一 阅读全文
posted @ 2018-08-13 09:37 Memory_of_winter 阅读(147) 评论(0) 推荐(0)
摘要:题目大意:有$n$个位置$1,2,\dots n$;你有两个棋子$A$和$B$,你要进行$q$次操作,第$i$次操作给定一个$x_i$,你要选择一个棋子移动到$x_i$;求两个棋子最小移动的步数之和。 题解:一个$O(n^2)$的$DP$容易想到$f_{i,j}$表示到了第$i$步,另一个棋子在$j 阅读全文
posted @ 2018-08-13 08:25 Memory_of_winter 阅读(180) 评论(0) 推荐(0)
摘要:题目大意:有一个整数 $x$ ,一开始为 $0$ 。有 $n$ 个操作,有两种类型: $1 \;a\; b$:将 $x$ 加上整数 $a\cdot 2^b$ ,其中 $a$ 为一个整数, $b$ 为一个非负整数 $2\; k$ :询问 $x$ 在用二进制表示时,第 $2^k$ 位的值($0$或$1$ 阅读全文
posted @ 2018-08-12 18:59 Memory_of_winter 阅读(278) 评论(0) 推荐(0)
摘要:题目大意:给定一个长为$n$的序列,每个点需要放置一个守卫塔或一个木偶,在第$i$个点放置守卫塔的代价为$a_i$,放置木偶的代价为$j-i$,$j$为$i$右边第一个守卫塔,求最小代价。 题解:$O(n^2)$的$DP$显然,$ f_i=\min\limits_{j < i}\{f_j+a_i+1 阅读全文
posted @ 2018-08-12 16:51 Memory_of_winter 阅读(186) 评论(0) 推荐(0)
摘要:题目大意:单元最短路径(卡$SPFA$) 题解:$dijkstra$($\underline{\hspace{0.5em}}\underline{\hspace{0.5em}}gnu\underline{\hspace{0.5em}}pb\underline{\hspace{0.5em}}ds::p 阅读全文
posted @ 2018-08-11 19:17 Memory_of_winter 阅读(320) 评论(0) 推荐(0)
摘要:题目大意:有$n$个点和$m$条边(最多有$10$条边边权相同),求最小生成树个数 题解:对于所有最小生成树,每种边权的边数是一样的。于是就可以求出每种边权在最小生成树中的个数,枚举这种边的边集,求出对于这个边集可以的解(即没有一条边在同一联通块中),再把每种边的方案数乘起来即可。 卡点:无 C++ 阅读全文
posted @ 2018-08-11 18:11 Memory_of_winter 阅读(205) 评论(0) 推荐(0)
摘要:题目大意:有$2$个煤矿,$n$天。每天给一个煤矿送餐(共有有$3$种餐),价值为它与前面两次送餐(如果有的话)不同的种类数。最大化价值。 题解:看到只有三种餐,考虑状压$DP$。$f_{i,j,k,l,m}$表示现在是第$i$天,第一个煤矿上一次为$j$,再上一次为$k$(没有为$0$),$l,m 阅读全文
posted @ 2018-08-11 16:58 Memory_of_winter 阅读(172) 评论(0) 推荐(0)
摘要:题目大意:有一棵点数为 $N$ 的树,以点 1 为根。然后有 $M$ 个操作。 1. 把 $x$ 的点权增加 $a$ 。 2. 把 $x$ 为根的子树中所有点的点权都增加 $a$ 。 3. 询问 $x$ 到根的路径中所有点的点权和。 题解:树链剖分模板题 卡点:我真的好久没打树剖了。。。 1.线段树 阅读全文
posted @ 2018-08-11 15:06 Memory_of_winter 阅读(172) 评论(0) 推荐(0)
摘要:题目大意:在数轴上有$n$个闭区间$[l_1,r_1],[l_2,r_2],...,[l_n,r_n]$。现在要从中选出 $m$ 个区间,使得这 $m$ 个区间共同包含至少一个位置。输出被选中的最长区间长度减去被选中的最短区间长度,若多解,输出最小的一个 题解:把区间按长度排序,然后把左右端点离散化 阅读全文
posted @ 2018-08-11 10:46 Memory_of_winter 阅读(149) 评论(0) 推荐(0)
摘要:题目大意:给你一个无向图,其中一个点双联通分量算作一个点,询问两个点之间(包括这两个点)有多少点(注意重边不需要缩点) 题解:$tarjan$缩点,特判一下如果是他的父亲,就不干(去除重边的影响),然后$O(m)$重建图,跑一边$LCA$求距离就好了 卡点:1.没有关注重边 2.查询写成原图中的编号 阅读全文
posted @ 2018-08-11 10:03 Memory_of_winter 阅读(269) 评论(0) 推荐(0)
摘要:题目大意:有$n$个点和$m$条边的图($n - 1 \leq m \leq n + 5$),每个点要么黑要么白,两个黑点不可以相邻,问方案数 题解:可以发现当图为一棵树的时候只需要一个树形$DP$ $$令f_{i,j}表示在第i个点,它的状态为j(1为黑,0为白)$$$$f_{i,0}=\prod 阅读全文
posted @ 2018-08-10 19:49 Memory_of_winter 阅读(142) 评论(0) 推荐(0)
摘要:题目大意:给定一个有重边,边有权值的无向图。从某一个点出发,求到达所有的点需要的最少费用,并且限制两点之间只有一条路径。费用的计算公式为:所有边的费用之和。而边$(x->y)$的费用就为:$y$到初始点的距离$\times$边权。 题解:记忆化搜索,$f[i][j]$表示第$i$个节点,比到这个点的 阅读全文
posted @ 2018-08-10 13:18 Memory_of_winter 阅读(131) 评论(0) 推荐(0)
摘要:题目大意:有一个$n \times m$的方阵,第$i$行第$j$列的人的编号是$(i-1) \times m + j$。 现在有$q$个出列操作,每次让一个人出列,然后让这个人所在行向左看齐,再让最后一列向前看齐,最后让这个人站到第$n$行第$m$列的位置。 你需要输出每次出列的人的编号。 题解: 阅读全文
posted @ 2018-08-10 09:29 Memory_of_winter 阅读(179) 评论(0) 推荐(0)
摘要:题目大意:给定一张图(保证连通),每个点有点权。现在有两种操作: 1. $C\;a\;w:$把$a$的点权改为$w$;2. $A\;a\;b:$询问从$a$到$b$的所有简单路径(不经过重复点)中,点权最小的点的点权。 题解:可以发现如果是一棵树,直接用树链剖分维护最值即可。 但是它是一个图,所以可 阅读全文
posted @ 2018-08-09 19:33 Memory_of_winter 阅读(259) 评论(0) 推荐(0)
摘要:题目大意:给一个只包含小写字母的字符串 $S$ ,请求出 $S$ 的所有出现次数不为 $1$ 的子串的出现次数乘上该子串长度的最大值。 题解:用后缀自动机求出每个字串的长度,排序后求出字串出现次数(后缀自动机是背板的。。。) 卡点:1.$rnk$数组没有开两倍 板背错 C++ Code: 阅读全文
posted @ 2018-08-09 07:18 Memory_of_winter 阅读(165) 评论(0) 推荐(0)
摘要:题目大意:有$n$个布尔变量 $x_1 \sim x_n$,另有$m$个需要满足的条件,每个条件的形式都是"$x_i$ 为$true/false$或$x_j$为$true/false$"。比如"$x_1$为$true$或$x_3$为$false$"、"$x_7$为$false$或$x_2$为$fal 阅读全文
posted @ 2018-08-06 20:36 Memory_of_winter 阅读(168) 评论(0) 推荐(0)