自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 收藏
  • 关注

原创 codeforces-939E Maximize!

题意维护一个集合,两种操作:1、向集合加入一个数,保证这个数比集合中所有数都大2、在集合中找一个子集,使子集中最大值减平均值最大,输出这个最大值解题思路加入第iii个数AiAiAi后,考虑包含AiAiAi的子集对ansansans的影响。因为所选子集中最大值已经确定为AiAiAi,只需尽可能减小子集中的平均值。由贪心的思想,一定尽可能选较小的数,即选取的一定为序列AAA的一个前缀,于...

2019-07-30 10:47:26 200

原创 【bzoj 2989】数列

传送门~解题思路可将A[i]A[i]A[i]抽象为二维平面上的点(i,A[i])(i,A[i])(i,A[i]),询问就是求与给定点曼哈顿距离小于等于kkk的点数,修改则是加点操作。 把曼哈顿距离转化为切比雪夫距离,询问就变成了给定(x,y)(x,y)(x,y),转为切比雪夫距离后为(x+y,x−y)(x+y,x−y)(x+y,x-y),求矩形(x+y−k,x+y+k,x−y−k,x...

2018-06-26 15:08:33 280

原创 【bzoj 1009】GT考试

传送门~解题思路求一个序列,要求其中没有任意一段与给定串匹配。 暴力做法:f[i][j]表示枚举到序列的第i个位置,在给定串中匹配到第j个位置的方案数。在第i+1个位置放0~9时会令j发生改变,改变到多少需要用到next数组。对于给定串的任意位置i,预处理出在第i+1个位置的十种选择方案中,转移到位置j的情况有几种, 可以视作M+1M+1M+1行M+1M+1M+1列矩阵GGG。...

2018-06-22 13:28:49 665

原创 【bzoj 1008】越狱

传送门~解题思路直接求越狱情况不好求,但是不越狱情况很好求,就是m*(m-1)^n。 然后用总情况减去就好了。 代码:#include<cstdio> #include<algorithm> #include<cmath> #include<iostream> #include<cstring> #in...

2018-06-21 20:08:16 224

原创 Splay模板

【bzoj 3224】代码:#include<algorithm>#include<iostream>#include<cstring>#include<string>#include<cstdio>#include<cmath>#include<cstdlib>using namespace s

2018-04-23 20:07:51 138

原创 【bzoj 3489】A simple rmq problem(KD-Tree模板)

传送门~ 作为简易的K−dK−dK-d treetreetree模板 将一个数作为一个点(x,y,z)(x,y,z)(x,y,z) xxx为该点位置,yyy为左面第一个和它一样的数的位置,zzz是右面第一个和他一样的数的位置 问题转化成,给定lll和rrr,求一个权值最大的点,使 y<ly<lyz>rz>rz>r r=>x=>lr=>x=...

2018-03-26 17:00:19 235

原创 读入输出优化

inline int read(){ int f=1,x=0;char c=getchar(); while(c<'0' || c>'9') {if(c=='-') f=-1;c=getchar();} while(c>='0' && c<='9') {x=(x<<3)+(x<<1)+c-'0';c=getch...

2018-03-26 16:49:37 205 1

原创 【bzoj 2017】硬币游戏

传送门~ 非常棒的一道题。f[i][j]" role="presentation" style="position: relative;">f[i][j]f[i][j]f[i][j]表示剩i枚硬币时取j个最多拿到多少,sum[i]" role="presentation" style="position: relative;">sum[i]sum[i]sum[i]表示最后i枚硬币的价值和,状态转

2018-01-28 21:48:39 321 1

原创 【bzoj 1552】排序机械臂

传送门~解题思路支持区间翻转。 代码:#include#include#include#include#include#include#includeusing namespace std;int n;struct ldx{ int x,wi; bool operator < (const ldx p) const{ ret

2018-01-28 21:39:14 230

原创 【bzoj 2743】采花

传送门~解题思路将所有询问(x,y)" role="presentation" style="position: relative;">(x,y)(x,y)(x,y)按y" role="presentation" style="position: relative;">yyy排序,用一个树状数组维护前y" role="presentation" style="position: rel

2018-01-28 21:32:34 225

原创 【bzoj 3132】上帝造题的七分钟

传送门解题思路二维树状数组。 对于修改操作单开一个矩阵,修改时利用差分思想,这样每个点S[i][j]" role="presentation" style="position: relative;">S[i][j]S[i][j]S[i][j]的前缀和表示这个点修改了多少。 对于一个查询(x,y)" role="presentation" style="position: relat

2018-01-28 21:23:12 233

原创 【bzoj 1070】修车

传送门~解题思路把 m" role="presentation" style="position: relative;">mmm 个技术人员拆成 n" role="presentation" style="position: relative;">nnn 个点,分别表示这个技术人员修的倒数第 i" role="presentation" style="position: relativ

2018-01-28 21:00:13 230

原创 【bzoj 2326】数学作业

传送门~解题思路矩阵乘法。 代码:#include#include#include#include#include#include#include#define ll long longusing namespace std;ll n,p,now=0;struct ldx{ ll s[4][4]; ldx() {memset(s,0,siz

2018-01-23 13:56:34 250

原创 【bzoj 2257】瓶子和燃料

传送门~解题思路n" role="presentation" style="position: relative;">nnn 个数中选 k" role="presentation" style="position: relative;">kkk 个使这 k" role="presentation" style="position: relative;">kkk 个数的最大公因数尽可能大

2018-01-23 11:14:28 249

原创 【bzoj 1441】Min

传送门~解题思路裴蜀定理,S大于零的最小值一定是所有数的gcd。 代码:#include #include #include #include #include #include #include using namespace std; int ai,n,x; int main() { scanf("%d%d",&n,&ai); for(

2018-01-23 10:59:01 236

原创 【bzoj 2005】能量采集

传送门~解题思路对于一个点(x,y)(x,y),设gcd(x,y)=t\gcd(x,y)=t,点(x,y)(x,y)对答案的贡献为(t−1)×2+1=t×2−1(t-1)\times2+1=t\times2-1。 用f[i]f[i]表示最大公因数为ii的(x,y)(x,y)有多少个。易证以ii为公因数的个数为(n÷i)×(m÷i)(n\div i)\times(m\div i),再减

2018-01-19 16:20:50 179

原创 【bzoj 1013】球形空间产生器sphere

传送门~解题思路用距离公式以后式子里有r2r^2,所以相邻两个式子相减消去r2r^2,之后高斯消元。 代码#include<algorithm>#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<string>#include<cstdlib>using namespace std;d

2018-01-19 10:18:54 299

原创 【洛谷 P3389】高斯消元法(高斯消元模板)

传送门~解题思路留着自己看的高斯消元模板。 代码:#include#include#include#include#include#include#includeusing namespace std;const double eps=1e-8;double f[110][110];int n;void gauss(){ for(int i=1;

2018-01-19 09:23:53 357

原创 【bzoj 4563】放棋子

传送门~解题思路错排公式:f(n)=(n−1)∗(f(n−1)+f(n−2))f(n)=(n-1)*(f(n-1)+f(n-2)); 特殊的:f(1)=0,f(2)=1f(1)=0,f(2)=1。 代码:#include#include#include#include#include#include#includeusing namespace std;st

2018-01-17 17:16:45 199

原创 【bzoj 4927】第一题

传送门~解题思路一道神题,被虐了好久才调出来。。。 用六根拼正方形一共只有两种情况: 对于情况(1),我们先将所有数排序,然后枚举 iii 作为图(1)中紫色的边,即上面三个边中最长的边,同时记录num[x]num[x]num[x]存前 i−1i−1i-1 个数两两相加得 xxx 的方案数。再从 iii 向后枚举 jjj 作为红色边来统计答案。 对于情况(2),先将排好序的数...

2018-01-17 16:57:36 283

原创 【bzoj 3932】任务查询系统

传送门~解题思路每个任务(Si,Ei,Pi),在Si的位置加入Pi,在Ei+1的位置删掉Pi,这样取前缀和就能表示每个点包含的所有数。 将每个任务拆成两个操作:在Si加Pi和在Ei减Pi。将所有操作排序后按操作建主席树。 然后还需要求个to数组,存询问中的每个时间点要在哪棵树中查询。 代码:#include<iostream>#include<algorithm>#include<cstr

2018-01-16 11:39:31 272

原创 【bzoj 4059】Non-boring sequences

传送门~解题思路考虑分治。虽然我觉得就是暴力 对于一个数,左边第一个与它一样的数的位置记为z[i],右边第一个记为y[i]。 对于区间[l,r],如果其中存在一个数i,使z[i] r,那么区间[l,r]是一定符合题目中条件的,只要这个区间的子区间[l,i-1]和[i+1,r]也符合条件,区间[l,r]就是不无聊的。于是这么分治下去就行了。 但是这么写会T,确切的说会被卡成 OO

2018-01-15 13:16:46 240 2

原创 【bzoj 4159】程序自动分析

传送门~解题思路先把所有相等情况加进并查集,在判不等就行了。 代码:#include<iostream>#include<algorithm>#include<cstring>#include<string>#include<cstdio>#include<cmath>#include<cstdlib>using namespace std;struct ldx{ int

2018-01-15 11:38:19 226

原创 【bzoj 1497】最大获利

传送门~解题思路最大权闭合图。从原点向每个实验连边,流量为收益;每个实验向所需器材连边,流量为inf;每个器材向汇点连边,流量为成本。然后跑最小割。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstring>#include<string>#include<cstdio>#include<cstdli

2018-01-12 22:05:41 194

原创 【bzoj 4337】树的同构

传送门~解题思路树同构模板题。 为了保险用了双哈希。 选了极其暴力的方法处理两个重心的情况:对于每个重心分别求哈希值然后取max。 哈希的时候,每次将所有子节点的哈希值排好序拿出来,然后看心情瞎搞,随便乘一乘模一模,最后将根节点的哈希值作为整棵树的哈希值。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<c

2018-01-12 22:00:00 602

原创 【bzoj 3238】差异

传送门~解题思路求后缀数组以后搞个单调栈。 因为height数组的意义让这个单调栈很烦,注意要理清思路再写。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstring>#include<string>#include<cstdio>#include<cstdlib>using namespace

2018-01-12 21:53:33 244

原创 【bzoj 1503】郁闷的出纳员

传送门~解题思路要求维护一棵支持查后继和第k大的splay。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstring>#include<string>#include<cstdio>#include<cstdlib>using namespace std;int inf=1e9;struct

2018-01-12 21:47:26 274

原创 【bzoj 2435】道路修建

传送门~解题思路看了题面觉得极水,本来想顺手水一下,结果一直RE。。。 后来发下此题卡系统栈。。。mdzz。。 所以dfs要少传几个参要不就会RE。 代码:#include#include#include#include#include#include#includeusing namespace std;int hed[1000005],nex[200000

2018-01-12 21:40:51 186

原创 【bzoj 2599】Race

传送门~解题思路点分治练习。 注意k值太大不能memset,所以用了时间戳。 注意不能走的点的标记的处理。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstring>#include<string>#include<cstdio>#include<cstdlib>using namespace

2018-01-12 21:37:19 159

原创 【bzoj 1458】士兵占领

传送门~解题思路建图:先在棋盘上摆满士兵,求最多拿走多少士兵仍能满足条件,就可以跑最大流了。 源点向每一行连边,每一列向汇点连边。矩阵中每一个点如果不是障碍物就从那一行向那一列连一条流量为1的边。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstring>#include<string>#includ

2018-01-10 12:06:24 210

原创 【bzoj 3037】创世纪

传送门~解题思路贪心思想,首先建图后每个入度为零的点一定不选,瞎j8画图后发现如果一个点不选,它限制的点一定是选了最优。因为每个点只有一个出度,选到最后一定剩若干个简单环,大小为n的环一定可以选n/2个点,然后统计答案就好了。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstdio>#include<cs

2018-01-10 11:43:53 340

原创 【bzoj 1031】字符加密Cipher(后缀数组模板)

传送门~解题思路后缀数组模板。 dalao的详细讲解:链接 代码:#include#include#include#includestring>#include#include#includeusing namespace std;int sa[200005];int rank[200005];int x[200005];int y[200005];

2018-01-07 09:55:25 201

原创 【bzoj 2321】星器

传送门~解题思路一道神题。 设(i,j)的势能为i^2+j^2,若将(i,j)和(i,k)进行2操作,可以发现始态和终态的势能差刚好为(j-k+1)*2。所以这题的正解就是,求出始态和终态的势能差除以2就是答案。 代码:#include<algorithm>#include<cmath>#include<cstring>#include<iostream>#include<string>

2018-01-03 15:59:07 273

原创 【bzoj 2631】tree(LCT模板)

传送门~ LCT模板。 代码:#include<algorithm>#include<cmath>#include<cstring>#include<iostream>#include<string>#include<cstdio>#include<cstdlib>#define int long longusing namespace std;const int mod=51

2018-01-03 15:41:45 247

原创 【bzoj 2460】元素

传送门~解题思路关于线性基请参照这位大佬的博客:http://www.cnblogs.com/vb4896/p/6149022.html 求出线性基顺便贪一下。 代码:#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>#include<string>#include<iostream>#include

2018-01-03 08:07:47 239

原创 【bzoj 1823】满汉全席

传送门~解题思路每个菜品分为满式和汉式两个点,若选了A点就必选B点则由A向B连边。最后Tarjan缩点,若存在一个菜品的满式和汉式在一个强连通分量中,则该方案不合法。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstdio>#include<cstring>#include<string>#inclu

2018-01-03 07:52:00 279 2

原创 【bzoj 1588】营业额统计

传送门~解题思路按大小顺序建链表,然后按从后向前的顺序依次删除每个元素并统计答案。 稳稳水过,需要一些奇技淫巧。 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstring>#include<string>#include<cstdio>#include<cstdlib>using namespac

2018-01-02 20:53:47 253

原创 【bzoj 3039】玉蟾宫

传送门~解题思路极大化思想求最大子矩形。 详见王知昆的论文链接 代码:#include<algorithm>#include<iostream>#include<cmath>#include<cstring>#include<string>#include<cstdio>#include<cstdlib>using namespace std;int f[1005][1005],

2018-01-02 20:43:35 283

原创 【bzoj 1176】Mokia

传送门~解题思路CDQ模板,三维偏序问题。 第一维排序,第二维分治,第三维随便一个数据结构,这里用的是树状数组。 代码:#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<string>#include<cstdlib>using namespace std;struct xw

2018-01-02 17:24:40 239

原创 【bzoj 1468】tree

传送门~解题思路点分治 代码:#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<string>#include<cmath>#include<cstdlib>using namespace std;struct node{ int x,y,num; node*

2018-01-02 17:15:17 191

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除