
3001-3250
Mmh2000
这个作者很懒,什么都没留下…
展开
-
3098: Hash Killer II
题目链接题目大意:用奇怪的姿势卡hash题解:如果一个房间里有23个或23个以上的人,那么至少有两个人的生日相同的概率要大于50%。 生日攻击:如果你在n个数中随机选数,那么最多选√n次就能选到相同的数(不考虑Rp broken)#include<cstdio>#include<cstdlib>#include<ctime>#include<cstring>#include<iostrea原创 2017-01-19 11:10:36 · 425 阅读 · 0 评论 -
3011: [Usaco2012 Dec]Running Away From the Barn
题目链接题目大意:给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于(题面上漏了等于)l的点有多少个题解:考虑自上而下推出答案,但是答案的转移无法直接dp实现 那么从下到上维护可并大根堆,堆中存储每个点到根的距离 堆顶大于l就弹出我的收获:树上自下而上思想#include <iostream>#include <cstdio>#include <cstring>using na原创 2017-10-19 20:05:46 · 699 阅读 · 0 评论 -
3155: Preprefix sum
题目链接题目大意:单点修改,求前缀和的前缀和题解:树状数组实现区间修改的思路 SSt=∑i=1tai∗i=∑i=1tai∗(n−i+1)−(n−t)∑i=1taiSS_t=\sum\limits_{i=1}^{t} a_i*i=\sum\limits_{i=1}^{t}a_{i}*(n-i+1)-(n-t)\sum\limits_{i=1}^{t}a_{i}维护两个前缀和,∑(n−i+1)ai\s原创 2017-10-20 07:23:01 · 254 阅读 · 0 评论 -
3191: [JLOI2013]卡牌游戏
题目链接题目大意:有一种自动刷题机。每秒,有两种可能的结果:写了x行代码,或删掉了之前写的y行代码。(如果y大于当前代码长度则相当于全部删除。)一旦自动刷题机在某秒结束时积累了大于等于n行的代码,它就会自动AC一题,然后新建一个文件开始写下一题。知道共切了k道题。求n可能的最小值和最大值题解:答案满足单调性,二分二分题判断无解要注意二分的条件 本题二分成立的条件并不是恰好做了k题,所以不能用mi=原创 2017-10-25 20:33:52 · 462 阅读 · 0 评论 -
3119: Book
题目链接题目大意:给你一个N项数列的首项X,之后的每一项要么比前一项多A,要么少B,N项和为M,构造一个可行的数列题解:设进行了x次+A,y次-B,易知在i+A对整体的影响为(n-i+1)*A,得到 x+y=12n(n−1)x+y=\frac{1}{2}n(n-1) Ax−By=M−n∗xAx-By=M-n*x考虑贪心地构造答案,选择尽量大的数填满x。对于第i个数,如果n-i+1是构成x需要的,原创 2017-12-21 20:46:04 · 257 阅读 · 0 评论 -
3136: [Baltic2013]brunhilda
题目链接题目大意:给定m个素数和Q个询问。每个询问有n个人,每次操作可以任意选择其中的一个素数p(素数可以重复使用),然后去掉剩余人数 mod p个人。对于每个询问,我们想知道,至少需要多少步操作才能去掉所有人题解:跪题解我的收获:~~#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<al原创 2017-12-22 16:26:11 · 469 阅读 · 0 评论 -
3056: 升降梯口
题目链接题目大意:……题解:……我的收获:emmmmmm~~~原创 2017-12-15 21:49:53 · 485 阅读 · 1 评论 -
3175: [Tjoi2013]攻击装置/4808: 马
题目链接题目大意:01矩阵,可以在0的位置放马,求在互不攻击的前提下最多可以放多少题解:可以攻击的位置连双向边,二分图最大匹配我的收获:喜闻乐见~~~#include <bits/stdc++.h>using namespace std;const int N=205;const int M=N*N;int n,cnt;int t,head[M];int vis[M],lik[M],id[N原创 2018-01-22 21:56:18 · 313 阅读 · 0 评论 -
3122: [Sdoi2013]随机数生成器
题目链接题目大意:给出p,a,b,X1p,a,b,X1,有递推式Xi+1=(aXi+b)%pX_{i+1}=(aX_i+b) \%p 求Xi=tX_i=t的最小的ii,无解输出−1-1题解:大力特判 1.X1=t1.X_1=t 2.a=02.a=0,即Xi=bX_i=b 3.a=13.a=1,exgcd解同余方程,此时要特判b=0及同余方程无解 4.a≥24.a \geq 2 展开递推式,原创 2018-01-31 17:15:35 · 348 阅读 · 0 评论 -
3033: 太鼓达人
题目链接题目大意:给出k,求一个最长的M位01串,使其从每一个位置向后走k个得到的M个k位01串互不相同(最后一个和第一个相邻,即是一个环),输出字典序最小的答案题解:Orz有图的题解我的收获:2333#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int k,n,msk;int ans[原创 2018-02-01 08:21:00 · 392 阅读 · 0 评论 -
3039: 玉蟾宫
题目链接题目大意:求最大子矩阵……题解:这是搬的uva上的一个题……蓝书上有我的收获:233#include<cstdio>#include<algorithm>using namespace std;const int maxn = 1000;int mat[maxn][maxn], up[maxn][maxn], left[maxn][maxn], right[maxn][maxn];i原创 2018-02-04 17:36:27 · 206 阅读 · 0 评论 -
3156: 防御准备
题目链接题目大意:一条线上N个(检查)点,编号1~N,一个点j上可以建一个守卫塔花费为a[j],也可以选择放个木偶(为什么会是木偶= =),花费是这个点右边建的第一个守卫塔i到这个点的距离,即i-j。问最小花费题解:斜率优化,随便推推式子我的收获:233333#include <bits/stdc++.h>using namespace std;#define N 1000005#define原创 2018-02-27 14:51:23 · 293 阅读 · 0 评论 -
3107: [cqoi2013]二进制a+b
题目链接题目大意:给定n位二进制数a,b,c,重组三个数,使得a′+b′=c′且最小化c′题解:orz popoqqq我的收获:无限ym#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int Digit(int x){ int re=0;原创 2018-02-18 21:25:07 · 313 阅读 · 0 评论 -
3028: 食物
题目链接题目大意:有一些食物,存在一些限制……计算携带N件物品的方案数题解:求出每种食物的一般生成函数,把闭形式相乘 用一下广义二项式定理或麦克劳林展开求出第 n 项系数详见popoqqq我的收获:2333#include <cstdio>#include <cstring>#include <iostream>#include &l...原创 2018-03-24 20:44:17 · 308 阅读 · 0 评论 -
3143: [Hnoi2013]游走
题目链接题目大意:在一个无向连通图上随机游走,初始在1,每一步等概率选择某条出边走到下一个顶点,获得等于这条边的编号的分数;到达 n 结束 对边进行编号,最小化期望总分题解:详细的题解……我的收获:各种转化……妙啊#include<cstdio>#include<algorithm>#define N 502#define M 202222int n,m,i,x,y,du[N],n1[M]原创 2018-03-25 21:52:42 · 258 阅读 · 0 评论 -
3209: 花神的数论题
35原创 2018-03-25 21:54:53 · 421 阅读 · 0 评论 -
3124: [Sdoi2013]直径
题目链接题目大意:给定一棵树,求直径的长度以及有多少条边满足所有的直径都经过该边题解:丢题解跑……我的收获:分析性质……emmmmm#include<cmath>#include<queue>#include<vector>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define FOR(原创 2018-03-26 12:11:20 · 311 阅读 · 0 评论 -
3163: [Heoi2013]Eden的新背包问题
题目链接题目大意:现在有n个物品,第i个物品有c[i]个,每购买第i个物品一个需要a[i]元,可获b[i]代价。 有m个询问,每次询问形如:第x个物品禁止购买,你有y元的话,你能获得的最大价值是多少?询问之间互相独立。 题解:CDQ分治 Solve(l,r)表示,当前维护的dp数组,记录的答案是除去[l,r]外的物品的答案 Solve(l,mid)时,用[mid+1,r]内的物品转移dp数组原创 2018-03-28 20:14:57 · 406 阅读 · 0 评论 -
3171: [Tjoi2013]循环格
题目链接题目大意:N*M的矩阵,每个格子有一个LRUD标记表示走到这个格子后下一个格子往哪个方向走。走出边界后自动到另一端。问至少修改几个格子使得在任意一个格子上开始都可以最后回到自身题解:结论:每个点只存在于一个环中所以入度和出度都为1 每个格子拆成入点和出点,连(st,in,1,0),(out,ed,1,0)每个格子拆成入点和出点,连(st,in,1,0),(out,ed,1,0) 每个格子原创 2017-09-13 07:29:18 · 362 阅读 · 0 评论 -
3226: [Sdoi2008]校门外的区间
题目链接题目大意:给定一个空集合S,维护五种集合与集合的操作,将最终得到的集合输出。对于集合S和T,操作S=S∪T、S=S∩T、S=S−T、S=T−S、S=S⊗T题目大意:给定一个空集合S,维护五种集合与集合的操作,将最终得到的集合输出。 对于集合S和T,操作S=S\cup T、S=S\cap T、S=S-T、S=T-S、S=S\otimes T题解:大力线段树 对于区间的开闭,将[l,r],变为原创 2017-09-12 07:46:14 · 274 阅读 · 0 评论 -
3043: IncDec Sequence
题目链接题目大意:求最大的黑白相间子矩阵/子正方形大小题解:进行一个非常巧妙的条件转换:将i+j为奇数的格子颜色反转,这样就变成求黑色最大子矩阵和白色最大子矩阵取max了,最大子正方形显然是最大子矩阵的一部分当然不转化也是随便做的(逃时间复杂度O(mn)O(mn)我的收获:悬线法劲 #include <iostream>#include <cstring>#include <cstdio>原创 2017-07-18 22:32:56 · 399 阅读 · 0 评论 -
3224: Tyvj 1728 普通平衡树
题目链接题目大意:平衡树基础操作题解:sbt模板……#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int M=100005;#define son(x,y) c[c[x][y]][y]int n,top,x;int c[M][2],sz[M],k[M];inline原创 2017-03-05 08:13:00 · 329 阅读 · 0 评论 -
3212: Pku3468 A Simple Problem with Integers
题目链接题目大意:线段树区间求和,区间查询题解:我为什么要看这样的题……原创 2017-03-05 19:43:41 · 390 阅读 · 0 评论 -
3040: 最短路(road)
题目链接题目大意:求点1到点N的最短路题解:用pbds里的堆优化……我的收获:get姿势#include<iostream>#include<cstdio>#include<cstring>#include<ext/pb_ds/priority_queue.hpp>#define ll long long#define pa pair<ll,int>#define llinf 90000原创 2017-05-21 21:43:17 · 252 阅读 · 0 评论 -
3038: 上帝造题的七分钟2/3211: 花神游历各国
题目链接题目大意:维护序列,致辞区间开根号,求和题解:由于普通的加/乘法标记利用的是区间更新的量相同的特点,开根号无法使用这样的打标记方法。暴力出奇迹……显然不能直接修改一条线段,而是应该修改叶子,用tag[x]=1表示x不需要修改(为0或1),上传这个标记,遇到tag[x]等于1时直接return。考虑到开根号次数大概是loglogloglog\log \log级的,于是跑得飞快我...原创 2017-06-24 16:32:38 · 402 阅读 · 0 评论 -
3192: [JLOI2013]删除物品
题目链接题目大意:2堆物品,可以把堆顶物品移到另一堆顶,删除堆顶权最高的物品。求最小移动步数题解:很容易想到直接模拟。把第一堆倒序,然后是第二堆,移动就是改变分割点。为了方便,中间留一个位置放当前初始位置。我的收获:表示存在与否,数据处理,留空#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>u原创 2017-07-02 17:34:43 · 255 阅读 · 0 评论 -
3173: [Tjoi2013]最长上升子序列
题目链接题目大意:给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。每插入一个数字,求此时最长上升子序列长度题解:因为从小到大插入,后插入的数不会影响前面的数的答案。对最后得到的序列求lis,第i行输出1-i的lis即可。 可以直接用平衡树模拟(vector能过……vector劲啊)插入,中序遍历得到序列。树状数组做法我的收获:跪烂啊#include原创 2017-07-05 19:53:54 · 437 阅读 · 0 评论 -
3097: Hash Killer I
题目链接题目大意:卡自然溢出hash题解:Orz我的收获:强强强#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <cstdlib>#include <string>using namespace std;char s[10000];int main(){ c原创 2017-08-07 16:25:30 · 674 阅读 · 0 评论 -
3223: Tyvj 1729 文艺平衡树
题目链接题目大意:维护区间翻转题解:fhq treap 丢板子跑我的收获:#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>using namespace std;#define INF 0x7fffffffconst int M=100005;int n,m,tot,root;int c[M原创 2017-08-24 20:21:41 · 255 阅读 · 0 评论 -
3130: [Sdoi2013]费用流
题目链接题目大意:Alice来弄一条最大流,Bob来给Alice弄好的最大流定权值。 定权值的方法是给没条边定一个值wi,然后wi*flow(i)的和就是总的费用,但要求所有wi之和为p。 现在Bob希望最后的费用最大,即对于每一种最大流方案都会有一种最大的定值方案。 Alice则希望花费最小,即选出一种最大流方案,使得这种方案的最大定值是所有最大流方案中最小的 求最大流,及这个最小的最大定原创 2017-08-21 17:51:51 · 254 阅读 · 0 评论 -
3158: 千钧一发/3275: Number
题目链接题目大意:给出一些数字,要求选出一些数字最大化和 选出的任意两个数字至少满足以下两个条件之一 1. 平方和是完全平方数 2. gcd=1题解:转化成舍弃的代价最小,条件取反,最小割解决 引理:如果x,y,z互质且x^2+y^2=z^2,那么x,y必定一奇一偶百度百科 所以两个奇数一定满足1条件的反,两个偶数一定满足2条件的反 可以分成奇偶两部分 集合划分模型,s连奇数...原创 2017-08-21 17:38:38 · 1947 阅读 · 0 评论 -
3036: 绿豆蛙的归宿
题目链接题目大意:带权DAG,从1走到n,若到达点x后有k条出边,走这k条边的概率均为1/k,求1-n期望路径长度题解:f[i]表示i−n的期望路径长度f[i]表示i-n的期望路径长度 f[i]=∑(f[e[i].to]+e[i].val)/outd[i]f[i]=∑(f[e[i].to]+e[i].val)/outd[i] outd[i]表示点i的出度,因为是等概率,所以直接除就可以了……期望原创 2017-08-19 10:08:53 · 426 阅读 · 0 评论 -
3210: 花神的浇花集会
题目链接题目大意:给定平面上的n个点,求一个点到这n个点的切比雪夫距离之和最小题解:思路同3170,但是这个题可以随意选点蓝书例题中证明过,对于1维情况,选择中位数即可因为x,y坐标互不干扰,所以选两个中位数 但是直接选择中位数得到的点可能横纵坐标奇偶性不同 这样代回原点中发现不是整点 因此如果得到的点横纵坐标奇偶性相同直接输出距离 不同的话选择周围的四个点进行判定 选择最小的距离输出即可我的收原创 2017-08-07 17:22:44 · 330 阅读 · 0 评论 -
3170: [Tjoi 2013]松鼠聚会
题目链接题目大意:给定平面上的n个点,求这n个点中的一个点,使其到这n个点的切比雪夫距离之和最小题解:根据结论:把坐标系旋转45° 曼哈顿距离转化成切比雪夫距离,把点(x,y)(x,y)变成(x+y,x−y)(x+y,x-y),这样新点之间的切比雪夫距离就是原点之间的曼哈顿距离 同理可以把切比雪夫距离转化成曼哈顿距离,把点(x,y)(x,y)变成((x+y)/2,(x−y)/2)((x+y)/2原创 2017-08-07 16:50:17 · 313 阅读 · 0 评论 -
3208: 花神的秒题计划Ⅰ
题目链接题目大意:网格图,支持四个操作:修改单点,保护/取消一个矩形,求当前最大滑雪距离题解:如果没有所有操作,O(n^2)记忆化搜索就好啦。定睛一看,发现后三种操作不超过一百次……暴力模拟就能过了我的收获:看数据范围…………#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define M原创 2017-06-08 22:53:16 · 341 阅读 · 0 评论 -
3172: [Tjoi2013]单词
1原创 2017-08-16 22:36:24 · 287 阅读 · 0 评论 -
3144: [Hnoi2013]切糕
题目链接题目大意:在一个P*Q的格子里填数,不同的数代价不同,要求相邻的格子差小于D,求最小代价题解:离散变量模型 如果没有D的限制的话,按层拆点,连(x,y,z)->(x,y,z+1),流量为v(x,y,z),原点向第一层连边,第R+1层向汇点连边,权为INF,这样最小割就可以了现在加入限制,即相邻的只能割[z-d,z+d],可以加入一些权为INF的边屏蔽掉不能割的边,大概就...原创 2017-09-08 19:46:42 · 438 阅读 · 0 评论 -
3174: [Tjoi2013]拯救小矮人
题目链接题目大意:一些人身体长ai手长bi 用其中一些人并让某个人i在顶上使得a1+a2+⋯+ai+bi>=h那么最顶上的人就能出去 询问最大出去的人数题解:贪心来做比较显然……看起来应该把逃生能力强的放在下面,我做的时候一直在想应该把手短的排在上面还是把矮的排在上面,看了题解发现按照x+y排…… 然而,这个题实际上是一个dp……贪心的排序只是为了实现方便 感性的证明后,用f[i]f[i原创 2017-07-05 19:11:51 · 371 阅读 · 0 评论 -
3238: [Ahoi2013]差异
题目链接题目大意:一个长度为 n 的字符串 S,令TiTiT_i表示它从第 i 个字符开始的后缀,求 ∑1≤i<j≤nlen(Ti)+len(Tj)−2lcp(Ti,Tj)∑1≤i<j≤nlen(Ti)+len(Tj)−2lcp(Ti,Tj)\sum\limits_{1 \leq i ...原创 2018-03-28 20:38:14 · 415 阅读 · 0 评论