
3501-3750
Mmh2000
这个作者很懒,什么都没留下…
展开
-
3669: [Noi2014]魔法森林
题目链接题目大意:给定一个无向图,每条边有两个权值ai和bi,从1走到N,设路径上a权的最大值为A,b权的最大值为B,求A+B的最小值题解:LCT? 这种双变量求最值可以先确定一个再搞另一个 那么对a排序,枚举a,显然过不了 spfa大力卡常我的收获:卡常出奇迹#include <algorithm>#include <iostream>#include <cstdlib>#includ原创 2017-09-14 09:05:54 · 478 阅读 · 0 评论 -
3517: 翻硬币
题目链接题目大意:n*n的01矩阵,每次操作选择(x,y),将第x行和第y列取反,求 将01矩阵全部变为相同数字的最少操作数题解:由于取反就是异或1,根据异或运算的自反性,每个点最多只能翻一次,脑补(后发现,变成全0+全1=n*n。假定全变成0。对于每个点,翻与不翻设为x[i][j]x[i][j],考虑(i,j),对它有影响的是纵坐标为j的x(u,j)和横坐标为i的x(i,v),根据它最后为0可以原创 2017-07-14 23:12:11 · 559 阅读 · 0 评论 -
3573: [Hnoi2014]米特运输
题目链接题目大意:给定一棵树和每个点的权值,问最少改动多少个点的权值使得:1.每个点的所有儿子权值相等,2.每个点的权值等于所有儿子权值和题解:确定一个点的权值就可以确定整棵树的权值,枚举每个点不变,计算所有点权与原先比较,但是这样是n^2的仔细想想会发现如果A点权值不变时B点权值也不变,那么当A或B权值不变时根节点的权值是相同的只需要算出个点不变时根节点的权值,取一下众数,ans=n-众数出现次数原创 2017-09-21 08:20:36 · 360 阅读 · 0 评论 -
3714: [PA2014]Kuglarz
题目链接题目大意:一个01序列,花费cijc_{ij}可以知道sum(i,j)的奇偶性 求最少花费多少钱可以还原这个序列题解:把前缀和数组当作点 知道sum(i,j)的奇偶性=知道sum[j]-sum[i-1]的奇偶性 还原序列=知道所有sum[]的奇偶性 发现这个东西是可以互推的,所以把所有点联通就可以了在(i−1,j)连权为cij的边在(i-1,j)连权为c_{ij}的边我的收获:神奇建原创 2017-10-19 19:08:04 · 352 阅读 · 0 评论 -
3574: [Hnoi2014]抄卡组
题目链接题目大意:*可以匹配任意个字符,问给出的串是否两两匹配题解:1.所有串不含*:随便搞搞 2.所有串含*:搞搞lcp和lcs 3.有的含∗*有的不含∗*:特判不含的再搞搞lcp和lcs我的收获:暴力大模拟#include #include #include #include #include #include using namespace std;ty原创 2018-01-03 16:49:35 · 646 阅读 · 0 评论 -
3527: [Zjoi2014]力
题目链接题目大意:Fj=∑i<jqiqj(i−j)2−∑i>jqiqj(i−j)2F_j=\sum\limits_{i<j} \frac{q_i q_j}{(i-j)^2}-\sum\limits_{i>j} \frac{q_i q_j}{(i-j)^2},令Ei=Fi/qi,求Ei题解:代进去,得到Ei=∑j=0i−1qj(j−i)2−∑j=i+1n−1qj(j−i)2E_i=\sum\limit原创 2018-02-04 09:11:22 · 361 阅读 · 0 评论 -
3747: [POI2015]Kinoman
题目链接题目大意:给定f[],g[]数组,在f[]数组中选择一个区间[l,r],要求最大化fl,rf_{l,r}中只出现一次的数的权值题解:经典套路枚举区间左端点,线段树维护每个位置作为右端点的答案,取max首先预处理出l=1的情况,然后每次l+1时, [l,next[l]−1][l,next[l]-1]的答案减少w[f[l]]w[f[l]] [next[l],next[next[l]]−1][原创 2018-02-05 10:37:55 · 207 阅读 · 0 评论 -
3689: 异或之
题目链接题目大意:给定n个数,求这n个数两两异或的值中的前k小题解:经典套路…… 把每个数按照二进制建立Trie,可以利用Trie树上的size域查询出一个数与其它数异或值的第k小维护一个堆,将所有数与其它异或值的第2小加入堆(第一小是自己异或自己,不在题目要求范围内),当取出一个数异或值的第k小后,将第k+1小加入堆一个异或值会被两个数分别取出一次,所以取出奇数次时输出,取2*k次即可我的收获:原创 2018-02-05 11:17:35 · 365 阅读 · 0 评论 -
3679: 数字之积
题目链接题目大意:一个数x各个数位上的数之积记为f(x),不含前导零 求[L,R)[L,R)中满足0<f(x)≤n0<f(x) \leq n的数的个数题解:R是开区间!!!我因为这个调了很长时间…… 随便数位dp一下,f[i][j]f[i][j]表示ii位乘积为jj的方案数 第二维很大,但是考虑到取值很少,直接map我的收获:orz#include <iostream>#include <c原创 2018-01-29 15:56:44 · 549 阅读 · 0 评论 -
3749: [POI2015]Łasuchy
题目链接题目大意:n个数,第i个人可以选i或(i+1) mod n,若两人选同一个数则平分,假如某个人改变自己的选择后(其他n-1个人的选择不变),可以使自己获得比原先更大的数字,那么这个人会不满意,钦点每个人的选择方案,使得所有人满意题解:对每个数字有四种情况 枚举第一个数字的状态向后递推 注意是环,1的前驱是n 方程见Claris 题解我的收获:暴力dp!#include <cstdio>原创 2018-02-07 08:22:19 · 309 阅读 · 0 评论 -
3626: [LNOI2014]LCA
题目链接题目大意:n个节点有根树,有q次询问,每次询问给出l r z,求∑l=i=rdep[LCA(i,z)]\sum\limits_{l题解:我的收获:原创 2018-02-27 09:35:52 · 203 阅读 · 0 评论 -
3697: 采药人的路径
题目链接题目大意:一棵树,边权为0/1,求有多少路径满足01个数相等,且存在一个点(不能为起点或终点),这个点到起点和终点分别满足01个数相等题解:淀粉质点分治ore menci我的收获:淀粉质!#include <bits/stdc++.h>using namespace std;const int N=100005;const int INF=1e9;int n,temp,root,mxde原创 2018-02-07 08:54:03 · 281 阅读 · 0 评论 -
3503: [Cqoi2014]和谐矩阵
题目链接题目大意:我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1。一个元素相邻的元素包括它本 身,及他上下左右的4个元素(如果存在),输出一个n*m的和谐矩阵题解:可以直接暴力列出n*m个方程,可以过设(x,y)为某个位置的取值(出界视为0) 则有(x,y)^(x-1,y)^(x+1,y)^(x,y-1)^(x,y+1)=0,即(x^y)=(x-1,y-1)^(x,y-原创 2018-02-27 11:07:07 · 678 阅读 · 0 评论 -
3622: 已经没有什么好害怕的了
题目链接题目大意:给定两个长度为n个序列,保证这2n个数字两两不同,求有多少匹配满足a[i]>b[i]a[i]>b[i]的数对数比a[i]<b[i]a[i]<b[i]的数对数多k题解:设有x对满足a[i]>b[i]a[i]>b[i],y对满足a[i]<b[i]a[i]<b[i],有 {x+y=nx−y=k\left\{\begin{aligned}x+y=n \\x-y=k \\\end{原创 2018-02-13 21:28:45 · 434 阅读 · 0 评论 -
3632: 外太空旅行
题目链接题目大意:求最大团题解:随机……mod 题解我的收获:23333#include <cstdio> #include <cstdlib> #include <algorithm> using namespace std; const int maxn = 55; int n, ans, g[maxn][maxn], ord[maxn], vis[maxn], clo; inl原创 2018-02-24 15:27:52 · 274 阅读 · 0 评论 -
3551: [ONTAK2010]Peaks加强版
题目链接题目大意:同3545,强制在线题解:kruskal重构树 板子来自hzwer 讲解可以看popoqqq我的收获:模版++#include <bits/stdc++.h>using namespace std;const int L=20;const int N=200005;int n,m,Q;int ext,top;int lastans;int h[N>>1],z[N>>1原创 2018-03-20 22:08:51 · 277 阅读 · 0 评论 -
3534: [Sdoi2014]重建
题目链接题目大意:求生成树概率,边权为实数题解:emmm 膜xehoth我的收获:强啊#include<cstdio>#include<cmath>#include<algorithm>#define N 52using namespace std;namespace runzhe2000{ const double eps = 1e-7; int n; dou原创 2018-03-21 17:33:43 · 368 阅读 · 0 评论 -
3629: [JLOI2014]聪明的燕姿
题目链接题目大意:令f(x)=Σi(i|x)给定n,求所有的x,使f(x)=n题目大意:令f(x)=Σi (i|x) 给定n,求所有的x,使f(x)=n题解:有一个约数和公式…… d(i)=∏i(∑j=0kipji)d(i)=\prod\limits_i (\sum\limits_{j=0}^{k_i} p_i^j) d(i)=∏ipki+1i−1pi−1d(i)=\prod\limits_i原创 2017-08-19 09:55:45 · 310 阅读 · 0 评论 -
3555: [Ctsc2014]企鹅QQ
题目链接题目大意:给定n个不相同的字符串,问有多少对字符串只差一个字母题解:搞一个前缀hash和后缀hash,然后加起来 枚举哪一位不同,然后取除了这一位的hash值,排序比较即可本题不卡自然溢出我的收获:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std原创 2017-09-10 11:45:54 · 485 阅读 · 0 评论 -
3562: [SHOI2014]神奇化合物
题目链接题目大意:维护一张弦图,支持加边、删边和询问图中有多少个联通块题解:这是smg……Orz我的收获:利用询问较少的特性……#include <map> #include <vector> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define M 5050原创 2017-07-08 19:47:09 · 443 阅读 · 0 评论 -
3709: [PA2014]Bohater
题目链接题目大意:打n个怪兽,第i个怪兽需要x[i]的血,掉落y[i]的血药,求能否打完所有怪兽,若能,输出方案。题解:把怪兽分为两类 显然先打能加血的,按照消耗升序。观察发现,无论选择什么顺序,打完后的血量last是确定的。倒序来看,相当于将血药吐出来,掉一些血,然后恢复杀怪的消耗的血,跟原问题是一样的。所以也是按照损失体力(即血药回血量)升序排序。正回来即是降序。。。我的收获:分部分处理,倒过原创 2017-02-01 17:56:07 · 591 阅读 · 0 评论 -
3680: 吊打XXX
题目链接题目大意:给定n个质点,求重心–广义费马点题解:模拟退火,爬山也可以我的收获:get搜索姿势#include <iostream>#include <cstdio>#include <cmath>#include<cstdlib>#define N 10005using namespace std;int n,...原创 2017-02-22 20:21:59 · 604 阅读 · 0 评论 -
3712: [PA2014]Fiolki
题目链接题目大意:n瓶物质,m次操作,若干有优先级的反应,求最终的值题解:Orz我的收获:加额外点#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>#include <cstring>using namespace std;#define M 500010#原创 2017-03-05 20:35:42 · 336 阅读 · 0 评论 -
3545: [ONTAK2010]Peaks
题目链接题目大意:给定一个无向图,每个点和每条边都有权值,多次询问从点v开始只能经过边权小于等于x的点中权值第k大题解:离线,把边和询问都按照边权从小到大排序,动态加边 对每个点维护一颗权值线段树,每次计算答案之前将边权小于等于限制的边两端的连通块(并查集维护)的权值线段树合并,然后在权值线段树上查询即可因为用了权值线段树,要离散化h我的收获:线段树合并吼啊#include <iostream>原创 2017-07-20 21:10:36 · 377 阅读 · 0 评论 -
3673/3674: 可持久化并查集加强版
题目链接题目大意:可持久化并查集,强制在线题解:可持久化线段树+启发式合并 rope强啊我的收获:#include<cstdio>#include<ext/rope>using namespace __gnu_cxx;rope<int> *fa[200002];int n,m,i,x,y,p,ans,a[200002];int find(int x){ if(fa[i]->at(原创 2017-07-20 16:10:09 · 336 阅读 · 0 评论 -
3524: [Poi2014]Couriers/2223: [Coci 2009]PATULJCI
题目链接题目大意:给一个长度为n的序列a,1≤a[i]≤n。m组询问,每次询问一个区间[l,r],是否存在一个数在[l,r]中出现的次数大于(r-l+1)/2题解:主席数基本应用,建出主席树,用前缀和取出区间[l,r]的树,然后左边大于(r-l+1)/2就往坐找,右边大于就往右找,都不大于就返回0我的收获:主席树强啊#include<cstdio>#include<algorithm>using原创 2017-08-28 15:24:46 · 706 阅读 · 0 评论 -
3504: [Cqoi2014]危桥
题目链接题目大意:有N座岛屿,某些岛屿之间有桥相连,桥上的道路是双向的,但一次只能供一人通行。其中一些桥是危桥。Alice希望在岛屿al和a2之间往返an次(从al到a2再从a2 到al算一次往返)。同时,Bob希望在岛屿bl和b2之间往返bn次。这个过程中,所有危桥最多通行两次,其余的桥可以无限次通行。判断两人能否达成愿望题解:题目模型比较裸,连(S,a1,an∗2),(a2,T,an∗2),(S原创 2017-08-21 19:36:39 · 292 阅读 · 0 评论 -
3668: [Noi2014]起床困难综合症
1原创 2017-08-15 23:26:13 · 241 阅读 · 0 评论 -
3676: [Apio2014]回文串
题目链接题目大意:定义s的一个子串t的“出现值”为t在s中的出现次数乘以t的长度,求出s的所有回文子串中的最大出现值。 题解:有了回文自动机,粮食再也不用向美国进口啦 好漂亮的数据结构啊……我的收获:……#include <cstdio>#include <algorithm>#include <cstring>#include <iostream> using namespace std原创 2017-08-10 19:32:23 · 312 阅读 · 0 评论 -
3594: [Scoi2014]方伯伯的玉米田
题目链接题目大意:给定数列,两种操作:1.区间+1(最多k次)2.删除一个数 求能够得到的最长不下降序列长度题解:结论:每次操作区间右端点一定为n,这样保证了最优dp[i][j]表示前i棵,操作了j次的lis长度dp[i][j]表示前i棵,操作了j次的lis长度 dp[i][j]=max(dp[k][l])+1,k<i,l<=j,a[k]+l<=a[i]+jdp[i][j]=max(dp[k][l原创 2017-08-07 22:03:39 · 290 阅读 · 0 评论 -
3732: Network
题目链接题目大意:同noip货车运输题解:生成树+倍增#include <iostream>#include <cstdio>#include <queue>#include <cstring>#include <algorithm>using namespace std;const int M=15005;#define INF 0x3f3f3f3fint n,m,q,t;int原创 2017-03-05 08:10:38 · 409 阅读 · 0 评论 -
3631: [JLOI2014]松鼠的新家
题目链接题目大意:给定一棵无根树和一个序列,在这个序列上依次遍历,求每个点的访问次数题解:裸的树上差分,但是根据题意,前一次的路径的结尾就是下一次路径的开头,相邻两次走的路径会有一个点重复计算,当然第一次不会重复,所以把差分数组cha[a[i]]−−,2≤i≤n题解:裸的树上差分,但是根据题意,前一次的路径的结尾就是下一次路径的开头,相邻两次走的路径会有一个点重复计算,当然第一次不会重复,所以把差分原创 2017-09-08 15:03:23 · 288 阅读 · 0 评论 -
3670: [Noi2014]动物园
1原创 2017-08-16 22:36:39 · 234 阅读 · 0 评论 -
3505: [Cqoi2014]数三角形
1原创 2017-08-02 23:26:37 · 257 阅读 · 0 评论 -
3667: Rabin-Miller算法
题目链接题目大意:检验大整数是否为质数,若不是输出其最大的质因子题解:丢板子跑 题解我的收获:这两个算法思想强啊#include <cstdio> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> using namespace std; #define abs(a) (a>0?a原创 2017-09-08 19:46:49 · 321 阅读 · 0 评论 -
3706: 反色刷
题目链接题目大意:给出一个n个点m条边的无向图,每一条边有一个颜色0/1,每一次可以选择一个环(不一定是简单环)使环上的所有边都反色。问最少选择多少次使所有的边都变成白色。这个图的边的颜色会发生变化,每一次操作有可能使一条边反色题解:性质1:性质2:我的收获:#include #include #include #include #include using原创 2018-03-27 07:55:20 · 397 阅读 · 0 评论