自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LuRiCheng的博客

退役了.

  • 博客(18)
  • 收藏
  • 关注

原创 Timus 1003. Parity 【并查集】

传送门输入的询问可能=0 巨坑…..因此re一晚上令sum[j]=∑ji=0a[i]   (mod2)令sum[j]=\sum_{i=0}^{j}a[i]\ \ \ (mod 2) 则若sum[a]=sum[b]且sum[b]=sum[c],则sum[a]=sum[b]=sum[c]具有传递性则若sum[a]=sum[b] 且sum[b]=sum[c],则sum[a]=sum[b]=sum

2017-09-28 16:39:41 582

原创 51NOD 1952 栈 【单调队列】

传送门动态维护一个非严格单调递增队列即可 这样队列尾就是最大值 每个元素只可能进出队列各一次 O(n)#include<stdio.h>#include<bits/stdc++.h>#define ll long long#define pii pair<int,int>#define pll pair<ll,ll>#define MEM(a,x) memset(a,x,sizeof

2017-09-26 20:21:44 372

原创 2017北京网赛hihocoder #1582 : Territorial Dispute 【凸包】

传送门分情况讨论 当n>=4时: 显然必然yes,随便抽出4点: 1.如果形成凸多边形,则ABAB必然成立 2.如果形成凹多边形,则必定3点能形成三角型,剩余一点在三角形内,那三角形3点为A,内部一点为B即可 3.四点共线,ABA成立当n=3时:显然只有三点共线才成立 当n<=2时,必然不成立于是求一遍凸包,若凸包含有4个不同点,凸多边形 含有3个不同点,三角形 如果只有2个不同点,

2017-09-23 22:43:36 408

原创 2017北京网赛 hihocoder #1580 : Matrix 【DP】

传送门就像最大子矩阵和一样降维 先不考虑p 枚举行i,j,sum[k]=∑jx=imat[x][k]枚举行i,j , sum[k]=\sum_{x=i}^{j}mat[x][k] 则对sum[]求一遍最大字段和即可得到最大子矩阵则对sum[]求一遍最大字段和即可得到最大子矩阵这里同理,令minVal[k]=min(mat[x][k]|i<=x<=j)这里同理,令minVal[k]=min(ma

2017-09-23 22:29:41 1080

原创 Codeforces862 E. Mahmoud and Ehab and the function

传送门sumA=∑ni=1(−1)i−1aisumA=\sum_{i=1}^{n}(-1)^{i-1}a_i sumB[j]=∑ni=1(−1)ibi+jsumB[j]=\sum_{i=1}^{n}(-1)^ib_{i+j} 显然f(j)=|sumA+sumB[j]|f(j)=|sumA+sumB[j]|对每次更新[l,r,x][l,r,x] 显然只有(r−l+1)%2==1时,sumA才会改

2017-09-20 22:55:49 361

原创 Codeforces862C. Mahmoud and Ehab and the xor 【构造】

传送门不难发现只有n=2,x=0时才输出NO 特判n=1,2时 当n>=3: 令xorSum=1^2^3^….^(n-3) t=x^xorSum 则可以构造出: t!=0:1,2,3,....(n−3),t+(1<<18),(1<<18),0t!=0 : 1,2,3,....(n-3),t+(1<<18),(1<<18),0 t==0:1,2,3,...,(n−2),(1<<18),[

2017-09-20 22:42:58 395

原创 HDU6208The Dominator of Strings 【AC自动机】

传送门显然只有长度最长的串才可能是答案 若有2个串长度最长 且不相同 无解建立ac自动机,若存在>=2个深度最大的节点 无解 用最长的串跑一遍查询,如果能匹配到的串恰好有n个 答案就是该串#include<stdio.h>#include<bits/stdc++.h>#define ll long long#define pii pair<int,int>#define pll pair

2017-09-19 23:40:56 403

原创 HDU6215 Brute Force Sorting 【模拟】

传送门显然 当[l,r]被删除后,下一轮可能删除的位置必定是从l-1或r+1开始 每删除一个值,将其左右边的值放进队列,用一个数组标记是否被删除过,避免重复操作即可#include<stdio.h>#include<bits/stdc++.h>#define ll long long#define pii pair<int,int>#define pll pair<ll,ll>#defi

2017-09-19 23:26:46 616

原创 HDU6214 Smallest Minimum Cut 【最大流求最小割边】

传送门因为最大流=最小割边的最大流量限制之和 因为m<=1000 将每条边流量*2000+1 跑出来的最大流%2000=最小割边数量#include<stdio.h>#include<bits/stdc++.h>#define ll long long#define pii pair<int,int>#define pll pair<ll,ll>#define MEM(a,x) me

2017-09-17 20:21:28 382

原创 Codeforces853B. Jury Meeting

传送门预处理出所有人在第i天之前到达0所需要的最小花费sumT0[] 以及 所有人在第j天后回去所需要的最小花费sumF0[]枚举开会时间i 则ans=min(sumT0[i−1]+sumF0[i+k]ans=min(sumT0[i-1]+sumF0[i+k]#include<stdio.h>#include<bits/stdc++.h>#define ll long long#defin

2017-09-15 22:03:56 379

原创 51NOD1799 二分答案 【组合+分块打表】

传送门显然确定了2分的结果下标,模拟一下即可得到途经的所有mid 记录a[mid]>m 和 a[mid]<=m的mid数量分别为larger,samller ans=Clargern−m∗(larger!)∗Csmallerm∗(smaller!)∗[(n−larger∗smaller)!]ans=C_{n-m}^{larger}*(larger!)*C_m^{smaller}*(smaller

2017-09-15 12:01:16 446

原创 51NOD 1294 修改数组 【LIS】

传送门a[i]=a[i]-i 则不难发现 对a[i]中>=0的元素 求一遍单增子序列(非严格) 答案就=n-lis#include<stdio.h>#include<bits/stdc++.h>#define ll long long#define lowbit(x) ((x)&(-x))using namespace std;const int N = 1e5 +5 ;int b[N

2017-09-14 17:14:57 343

原创 51NOD1681 公共祖先 【dfs序+树状数组】

传送门 首先求一遍树1的dfs序,线段树维护数组c[i] dfs遍历树2 当进入u点时 ①: subNum=∑out[u]i=in[u]c[i]① :\ subNum=\sum_{i=in[u]}^{out[u]}c[i] ②: c[in[u]]+=1②:\ c[in[u]]+=1 ③: 遍历u的所有孩子③:\ 遍历u的所有孩子 ④: 以u为树根的2个子树包含的公共点数=∑out[u]i

2017-09-14 16:58:15 317

原创 51NOD 1158 全是1的最大子矩阵

传送门很像最大子矩阵和 枚举子矩阵在第i行到第j行,sum[k]=∑jia[i][k]枚举子矩阵在第i行到第j行,sum[k]=\sum_i^ja[i][k] 当sum[k]!=j−i+1时,子矩阵不全为1当sum[k]!=j-i+1时,子矩阵不全为1 构建数组b[k]=(sum[k]==j−i+1?1:−inf)构建数组b[k]=(sum[k]==j-i+1?1:-inf) 则对b[k]求

2017-09-12 21:05:07 338

原创 HDU6203 ping ping ping 【LCA+BIT】

传送门先求dfs序in[]和out[],以及lca 将不能连通的(u,v)按lca深度从大到小排序 树状数组维护数组flag[] flag[ini]=0:i点与任意{v|flag[inv]=0}连通flag[in_i]=0 : i点与任意\{v|flag[in_v]=0\}连通 flag[ini]>0:i点与任意{v|flag[inv]=0}不连通flag[in_i]>0 : i点与任意\

2017-09-12 16:19:50 302

原创 51NOD 1210 矩阵查询 【线段树/树状数组】

传送门对每列建区间线段树直接肛过去#include<stdio.h>#include<bits/stdc++.h>#define ll long long#define pii pair<int,int>#define pll pair<ll,ll>#define MEM(a,x) memset(a,x,sizeof(a))#define lowbit(x) ((x)&-(x))usin

2017-09-08 19:23:12 491

原创 51NOD1337 翻转游戏 【贪心】

传送门显然当没有′?′时,模拟一遍即可显然当没有'?'时,模拟一遍即可 当位置i是′?′时,如果后续的关卡中,位置i需要关灯,且当前关卡必须关掉一些灯,则顺手关掉当位置i是'?'时,如果后续的关卡中,位置i需要关灯,且当前关卡必须关掉一些灯,则顺手关掉 开灯也同理开灯也同理#include<stdio.h>#include<bits/stdc++.h>#define ll long long

2017-09-06 21:41:40 376

原创 51NOD1495 中国好区间 【尺取法】

传送门尺取法求[i,j]区间,使得[i,j]区间size>=k且>=T的数恰好有k个,于是[1,j],[2,j],[3,j],….,[i,j]都满足题意,以j结尾有i种方案#include<stdio.h>#include<bits/stdc++.h>#define ll long long#define pii pair<int,int>#define pll pair<ll,ll>#d

2017-09-06 21:05:12 335

空空如也

空空如也

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

TA关注的人

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