E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
~bzoj
[HNOI2012]永无乡——Splay
题面
Bzoj
2733解析同样是一道上课时讲的题,对于每个连通块都维护一个Splay,连接不同块的操作就等价于合并两棵Splay,考虑暴力合并,将较小的Splay断开,依次将每个点插入另外一棵Splay中
weixin_30600503
·
2020-08-13 20:03
【
BZOJ
-2843&1180】极地旅行社&OTOCI Link-Cut-Tree
2843:极地旅行社TimeLimit:10SecMemoryLimit:256MBSubmit:323Solved:218[Submit][Status][Discuss]Description不久之前,Mirko建立了一个旅行社,名叫“极地之梦”。这家旅行社在北极附近购买了N座冰岛,并且提供观光服务。当地最受欢迎的当然是帝企鹅了,这些小家伙经常成群结队的游走在各个冰岛之间。Mirko的旅行社遭
weixin_30596023
·
2020-08-13 20:02
【可持久化线段树】【主席树】[
BZOJ
3295]动态逆序对
对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。这里可以发现对于每一个数字可以有两种做法第一种就是先建好树然后每一次删除询问在他之前有多少个比他大的,询问有多少个比他小的在他之后,然后减去(不推荐该做法)另一种做法就是首先预处理出来左边有多少个比他大的,右边有多少个比他小的,然
weixin_30586257
·
2020-08-13 20:30
BZOJ
4717 改装
Description【题目背景】小Q最近喜欢上了一款游戏,名为《舰队connection》,在游戏中,小Q指挥强大的舰队南征北战,从而成为了一名dalao。在游戏中,不仅船只能力很重要,搭配合适的装备更是如虎添翼。小Q潜心研究配装三十年,终于——把装备凑齐了。【题意描述】小Q有n艘船,m件装备。为了简单起见,我们假定每艘船都只能携带一件装备,且可以携带任何一件装备。每艘船和每件装备都有自己的能力
weixin_30550271
·
2020-08-13 20:54
BZOJ
4999:This Problem Is Too Simple!(树状数组差分维护DFS序+LCA+细节处理)
4999:ThisProblemIsTooSimple!TimeLimit:10SecMemoryLimit:256MBDescription给您一颗树,每个节点有个初始值。现在支持以下两种操作:1.Cix(0usingnamespacestd;#definelowbit(x)x&(-x)inlineintread(){intx=0,f=1;charch=getchar();while(ch'9'
weixin_30517001
·
2020-08-13 20:48
BZOJ
1095 动态点分治(点分树)
题意:操作1.修改一个点的颜色(黑白互换)操作2.询问所有黑色点之间最远距离点分树:当我们可以形如点分治一样的统计答案,即每次确定一个重心,然后计算他们子树之间的贡献和得出答案的时候我们可以将每个区域的重心作为其所有子树的重心的父亲,构成一颗新的树,显然这棵树的深度不会超过logn每次对于单点(边)更新的时候,只要对其所有的父亲更新,就只需要更新log个点,这样的数据结构就是点分树对于本题来说,最
weixin_30486037
·
2020-08-13 20:12
bzoj
1592 [Usaco2008 Feb]Making the Grade 路面修整
1592:[Usaco2008Feb]MakingtheGrade路面修整TimeLimit:10SecMemoryLimit:162MBSubmit:743Solved:514[Submit][Status][Discuss]DescriptionFJ打算好好修一下农场中某条凹凸不平的土路。按奶牛们的要求,修好后的路面高度应当单调上升或单调下降,也就是说,高度上升与高度下降的路段不能同时出现在修
weixin_30325971
·
2020-08-13 20:15
bzoj
4825
LCT昨天调试一天没出来,今天推倒重写还是gg了,内心崩溃照着源代码抄,结果发现自己把原树fa和splay的fa一起维护,各种re。。。其实我们手玩一下,发现其实树的形态变化很小,那么就可以用lct维护了,查询就是相当于查询点到root的点权和,点权为1删除什么的手画一下就行了然后我们要用一个数组维护一下原树形态,因为splay是二叉树,可以很方便地维护树的形态,但是一般的树比较麻烦,因为删除儿子
weixin_30323631
·
2020-08-13 20:14
bzoj
1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居【切比雪夫距离+并查集+multiset】...
参考:http://hzwer.com/4361.html坐标开longlong,inf开大点先曼哈顿转切比雪夫(x+y,x-y),距离就变成了max(x',y');先按x排序,维护两个指针,指针内区间的x差总是#include#include#includeusingnamespacestd;constintN=100005;constlonglonginf=1e15;intn,m,f[N],c
weixin_30295091
·
2020-08-13 20:38
【
bzoj
1102】[POI2007]山峰和山谷Grz(BFS)
1102:[POI2007]山峰和山谷GrzTimeLimit:10SecMemoryLimit:162MBSubmit:755Solved:390[Submit][Status][Discuss]DescriptionFGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷。为了能够让他对他的旅程有一个安排,他想知道山峰和山谷的数量。给定一个地图,为FGD想要旅行的区域,地图被分为n*n的网格
weixin_30239339
·
2020-08-13 20:00
[点分树]
BZOJ
3924 [Zjoi2015]幻想乡战略游戏
%%%CLJ首先动态维护每个点的答案?动态树分治就好了怎么找重心对于分治结构的每一个点,我们枚举它的出边如果某条出边连向的点的距离之和小于当前点,那么答案一定在那条出边指向的子树中,分治做下去就行了这样是两个log再乘20的实际上最优可以一个log跑的竟然还没有当年不懂事打的暴力快#include#include#includeusingnamespacestd;typedeflonglongll
里阿奴摩西
·
2020-08-13 20:09
点分治
[spaly模拟 线段树]
BZOJ
4825 [Hnoi2017]单旋
发现旋最小值到根最小值深度变为1他的右子树深度不变其他都加1旋最大值类似这个只要线段树就好了怎么求子树看他的father插入操作找出前驱和后继一定是祖先子孙关系新点往深度大的下面挂#include#include#include#includeusingnamespacestd;inlinecharnc(){staticcharbuf[100000],*p1=buf,*p2=buf;returnp
里阿奴摩西
·
2020-08-13 20:09
线段树
[点分树 树状数组]
BZOJ
3730 震波
线段树T成翔只能用vector写BIT痛苦的回忆啊思路不难想先建出点分树然后每个点对于他掌管的点的距离与权值建成BIT然后每次查询就是爬点分树这里有点注意往树上爬的时候不能中途break,不会因为有一个祖先爬不上去就终止,说不定有一个爷爷比爸爸还近#include#include#include#includeusingnamespacestd;inlinecharnc(){staticcharb
里阿奴摩西
·
2020-08-13 20:09
点分治
树状数组
[点分树 二分答案]
BZOJ
2117 [2010国家集训队]Crash的旅游计划
二分答案后就转化为有多少个数到某点距离小于多少这就是个裸的点分树啊复杂度O(nlog3n)#include#include#include#includeusingnamespacestd;inlinecharnc(){staticcharbuf[100000],*p1=buf,*p2=buf;returnp1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin)
里阿奴摩西
·
2020-08-13 20:09
点分治
[Hash]
BZOJ
4337 树的同构
哈希函数自己乱搞一个就行了#include#include#include#include#definecl(x)memset(x,0,sizeof(x))#defineM13000007#defineVG[p].vusingnamespacestd;typedeflonglongll;inlinecharnc(){staticcharbuf[100000],*p1=buf,*p2=buf;if(
里阿奴摩西
·
2020-08-13 20:09
树
Hash
主席树初探 &
bzoj
3295: [Cqoi2011] 动态逆序对 题解
【原题】3295:[Cqoi2011]动态逆序对TimeLimit:10SecMemoryLimit:128MBSubmit:778Solved:263[Submit][Status]Description对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。Input输入第一行包含
阿蒋
·
2020-08-13 20:34
bzoj题解
算法讲解
省选题解
BZOJ
1010: [HNOI2008]玩具装箱toy
题目地址:http://www.lydsy.com/JudgeOnline/problem.php?id=1010题目大意:见原题。算法分析:设s[i]为c[i]的前缀和,f[i]表示第1个物品到第i个物品的最小代价。易得DP方程为f[i]=min(f[j]+(s[i]-s[j]+i-j+1-l)^2)。设t[i]=s[i]+i,则f[i]=min(f[j]+(t[i]-t[j]+1-l)^2。设
Charlie-Pan
·
2020-08-13 20:03
BZOJ
【
BZOJ
】2118 墨墨的等式
【解析】最短路[Overview]给定n个物品,每个物品有一个非负价值,问[L,R]区间内有多少价值可以被凑出来。[Analysis]这道题很多神犇的题解都写得模模糊糊的,貌似看了好久才弄懂,下面是原创啊。生成函数?TLE。对于区间[l,r]的答案,可以通过差分转化为1到r的答案数-1到(l-1)的答案数。注意这道题是求有多少个值能被凑出来,而不是有多少种方法,只要判断一个值行不行就可以了。选取一
SMIAMS
·
2020-08-13 20:58
BZOJ
【
BZOJ
】【P4443】【Scoi2015】【小凸玩矩阵】【题解】【二分+匈牙利】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4443自招报名顺带在机房里写了写题非常怀疑这个做法的正确性不过还是写了首先真的满足二分性质吗?如果某些情况是不可能有解的比如2221432如果二分到2,也就是要选一个2的此时根本无法选出满足条件那么此时该向上还是向下二分……?虽然还是得到了正确的结果……把二分判定能否取到n-k+1个=mid的
iamzky
·
2020-08-13 19:13
ACM-ICPC
bzoj
【
BZOJ
】【P3239】【Discrete Logging】【题解】【BSGS】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3239裸题Code:#includeusingnamespacestd;typedeflonglongLL;LLp,a,b;LLpw(LLx,LLk,LLp){LLans=1;for(;k;k>>=1){if(k&1)ans=(ans*x)%p;x=(x*x)%p;}returnans;}vo
iamzky
·
2020-08-13 19:12
bzoj
【
BZOJ
】【P2435】【Noi2011】【道路修建】【题解】【dfs】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2435说好的卡爆栈呢Code;#includeusingnamespacestd;constintmaxn=1e6+5;structedge{intv,w;};vectorG[maxn];typedeflonglongLL;LLsum=0,ans=0;intsize[maxn],vis[max
iamzky
·
2020-08-13 19:12
OI
【
BZOJ
】【P4264】【小C找朋友】【题解】【hash】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4264枚举有边相连的点对,判断他们的边集-{自身}是否相同对于没有边相连的点对,判断边集是否相同判断边集相同的方法就是经典的集合hash,对每个点随机一个longlong,一个集合就是他们的异或和,插入删除xor一下就好了Code:#includeusingnamespacestd;const
iamzky
·
2020-08-13 19:12
【
bzoj
1978】 BEIJING2010 取数游戏 game dp优化
绝世好题,类比lis来做,dp[x]表示含有约数x的最大值,复杂度O(nsqrt(n))#include#include#include#include#include#include#definemaxn50010usingnamespacestd;intf[maxn];intdp[1000010];inta[maxn],n,ans,l;intmain(){scanf("%d%d",&n,&l)
qingdaobaibai
·
2020-08-13 19:52
动态规划
【
bzoj
3295】 CQOI2011动态逆序对 树状数组+主席树
对于每一个位置我们处理出刚开始它左边比他大的数的个数,和它右边比它小的数的个数,然后每次删除就在主席树里修改,最后答案就要减去a1+a2-左边比他大的被删除了的数的个数-右边比他小的被删除了的数的个数。一开始傻逼了,还对整个序列建前缀主席树,还以为省空间,结果发现树状数组直接预处理就好了,最后在不断地RE过程中,艰难的A了,看来卡空间的题真是非常不爽呢。#include#include#inclu
qingdaobaibai
·
2020-08-13 19:52
数据结构
BZOJ
3295 CQOI2011 动态逆序对
3295:[Cqoi2011]动态逆序对TimeLimit:10SecMemoryLimit:128MBSubmit:2263Solved:721[Submit][Status][Discuss]Description对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。Input输
毒液哥
·
2020-08-13 19:43
BZOJ
主席树
分治
分块
平衡树
树套树
线段树
[
BZOJ
3295][Cqoi2011]动态逆序对(分块重建)
题意:一个排列,每次删除一个数,求每次删除后的逆序对的数量。正确姿势请移步http://blog.csdn.net/u011542204/article/details/50571409将操作分成根号M段,然后每段内的操作按下标排序,计算它前面的比他小的和它后面的比他大的。有一个问题就是同一个块当中的没有被减掉,由于一个块内只有根号M个操作,暴力减掉即可。如果要在线的话将那个排序变成主席树即可。时
broxin
·
2020-08-13 19:53
题解
分块
bzoj
1010[HNOI2008] 玩具装箱toy(带斜率优化学习笔记)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1010题目大意:有n个数,分成连续的若干段,每段(假设从第j个到第i个组成一段)的分数为(X-L)^2,X为j-i+Sigma(Ck)i#include#include#include#includeusingnamespacestd;typedeflonglongLL;#definemax
Euryale_
·
2020-08-13 19:53
斜率优化
带题表或总结的??
模板
BZOJ
1146: [CTSC2008]网络管理Network 【树上带修改主席树】
#include#include#include#defineN100005usingnamespacestd;inta[N],b[N],M,T[N],st,w[N],A[N],B[N],C[N];structTr{intc,ls,rs;}tr[8000010];inthash(intk){returnlower_bound(b,b+M,k)-b;}intbuild(intl,intr){intn
Hacb
·
2020-08-13 19:40
主席树
BZOJ
2464 小明的游戏
2464:中山市选[2009]小明的游戏TimeLimit:10SecMemoryLimit:128MBSubmit:829Solved:338[Submit][Status][Discuss]Description小明最近喜欢玩一个游戏。给定一个n*m的棋盘,上面有两种格子#和@。游戏的规则很简单:给定一个起始位置和一个目标位置,小明每一步能向上,下,左,右四个方向移动一格。如果移动到同一类型的
szh_0808
·
2020-08-13 19:36
图论
bzoj
1861
splay1操作:从平衡树中取出这个数,把rank改成最小,再insert进去2操作:从平衡树中取出这个数,把rank改成最大,再insert进去3操作:取出x和它相邻的数(1是右相邻,-1是左相邻,0直接continue)4操作:查询x的rank5操作:查询rank=x的数/*************************************************************
syh0313
·
2020-08-13 19:31
ACM-BZOJ
【
bzoj
2521】【SHOI2010】【最小生成树】【最小割】
DescriptionSecsa最近对最小生成树问题特别感兴趣。他已经知道如果要去求出一个n个点、m条边的无向图的最小生成树有一个Krustal算法和另一个Prim的算法。另外,他还知道,某一个图可能有多种不同的最小生成树。例如,下面图3中所示的都是图2中的无向图的最小生成树:当然啦,这些都不是今天需要你解决的问题。Secsa想知道对于某一条无向图中的边AB,至少需要多少代价可以保证AB边在这个无
sunshinezff
·
2020-08-13 19:37
网络流
【
bzoj
3295】【Cqoi2011】【动态逆序对】【树状数组套平衡树】
Description对于序列A,它的逆序对数定义为满足iAj的数对(i,j)的个数。给1到n的一个排列,按照某种顺序依次删除m个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。Input输入第一行包含两个整数n和m,即初始元素的个数和删除的元素个数。以下n行每行包含一个1到n之间的正整数,即初始排列。以下m行每行一个正整数,依次为每次删除的元素。Output输出包含m行,依次为删除
sunshinezff
·
2020-08-13 19:36
树套树
【
bzoj
3119】【book】【贪心】
DescriptionWayne喜欢看书,更喜欢买书。某天Wayne在当当网上买书,买了很多很多书。Wayne有一个奇怪的癖好,就是第一本书的价格必须恰为X,而之后买的每一本书,若是比上一本更昂贵,则价格最多多A元;若是比上一本更便宜,则价格最多少B元。Wayne心血来潮,一口气买了N本书,但他记不得每本书的价格了,只记得总价格是M。Wayne于是很想知道一种可能的书价分布。为了简化问题,我们假定
sunshinezff
·
2020-08-13 19:36
贪心
【
bzoj
4337】【BJOI2015】【树的同构】【hash】
Description树是一种很常见的数据结构。我们把N个点,N-1条边的连通无向图称为树。若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树就成为有根树。对于两个树T1和T2,如果能够把树T1的所有点重新标号,使得树T1和树T2完全相同,那么这两个树是同构的。也就是说,它们具有相同的形态。现在,给你M个有根树,请你把它们按同构关系分成若干个等价类。Input第一行,一个整数M。接下来
sunshinezff
·
2020-08-13 19:36
hash
动态点分治 / 点分树学习笔记 ----
BZOJ
3730 震波 / [ZJOI2017] 幻想乡的战略游戏 / [HNOI2015]开店
点分树就是将每一次的重心连起来,形成一个深度不超过log的树相当于将点分治的过程静态到一颗树上实现如下,fa记录点分树上的父亲voidDivide(intu,intf){fa[u]=f;vis[u]=1;intsum=Siz;for(inti=first[u];i;i=nxt[i]){intt=to[i];if(vis[t])continue;if(siz[t]>siz[u])Siz=sum-si
FSYo
·
2020-08-13 18:40
动态点分治
[
BZOJ
2659][Beijing wc2012]算不出的算式
算不出的算式TimeLimit:3SecMemoryLimit:128MBDescription曾经有一个老掉牙的游戏放在我面前,我没有珍惜。直到这个游戏停产才追悔莫及。人世间最痛苦的事情莫过于此,如果上天给我一个再玩一次的机会,我一定要,通关!题目描述:如果你真的很想玩这个游戏,那么就先看看我的题目吧,搞不定这些的话是没办法通关的哟。第一关其实很简单,只有一个关闭的有密码锁的大门。这大门上写着一
slongle_amazing
·
2020-08-13 18:41
数论—其他
POJ 3120 Sudoku |
BZOJ
2910 数独
题目:http://poj.org/problem?id=3120https://www.lydsy.com/JudgeOnline/problem.php?id=2910题意:数独是一个9×99\times99×9的棋盘,每个格子里可以填上111到999之间的整数,它可以被分成999个3×33\times33×3的格子,我们称其为九宫格。一个合法的数独局面满足每一行、每一列、每一个宫格的数字都不
skywalkert
·
2020-08-13 18:36
POJ
BZOJ
搜索
数独
BZOJ
1963 最小和
题目:
BZOJ
1963最小和(笔者注:出处似乎是TopCoderSRM456Div.11050ptsFunctionalEquation)题意:给定CCC和NNN,并用伪随机的方法给出(xi,yi)(x_i
skywalkert
·
2020-08-13 18:34
BZOJ
二分图匹配
映射
##周总结## 19.7.15~19.7.21
周总结19.7.15~19.7.21本周
BZOJ
9题目标周过题量为21,daily3!今日是周总结开始的日子,希望能坚持下去。
sky_48
·
2020-08-13 18:02
周总结
set+线段树合并分裂--
bzoj
4552: [Tjoi2016&Heoi2016]排序
传送门机房最后一个学习线段树合并的人qwq题目要求支持区间升序或降序排序,并且单点查询思路是一开始对每一个点建一个权值线段树,然后排序的话就是把一段权值线段树都合并起来,这样就无所谓顺序了,然后具体操作用setsetset什么的维护一下线段树的左右端点就好了重要的就是线段树合并和分裂了,合并的话就是真正意义上的合并(好像有时候不是直接合并?)把对应的sizsizsiz加起来,分裂根据本题目还要分前
..、
·
2020-08-13 18:28
线段树
bzoj
4337 树的同构(树Hash)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=4337利用树的最小表示法进行Hash,因为只有50个节点,所以直接枚举所有点作为根的情况,然后对于不同的Hash值得到排名最小的那个即可。树的最小表示法:利用字符串进行Hash,在进入该节点的时候,字符串加入一个'0',然后对于每一个节点,对它的所有子树的Hash值进行排序,然后,加入到当前
_bibibibi
·
2020-08-13 18:42
bzoj
[
BZOJ
3930] [CQOI2015]选数 && 递推
记f[i]为gcd恰好为K*i的选数方案数那么对于每一个i记L为a/(K*i)上取整R为b/(K*i)那么他的方案数就为(R-L+1)^N-(R-L+1)再减去f[a*i](a=1,2,3....)最后的f[1]即为答案注意若a/K上取整==1那么全部选K也是一种方案需要+1#include#include#include#include#include#include#defineSFscanf
大蒟蒻syk
·
2020-08-13 18:21
数学
BZOJ
BZOJ
3211 线段树 区间更新 区间求和
传送门:题目题意:给一个序列,有两种操作:给区间[l,r],区间的每个值都开根号查询区间[l,r]的sum题解:纯的线段树,区间更新,区间求和,套个模板就好。然后有个技巧:109109开5次根号就是1了,所以我们在建树或者更新的时候,发现值≤≤1的时候,标记一下,然后以后更新的时候,遇到已经被标记的点,说明这些点即使再开根号,还是原来的值,所以我们直接跳过这些被标记的点就好了。坑点:不能用cin,
傻蛋的阿简
·
2020-08-13 18:05
数据结构
关于treap启发式合并的一点脑洞(以
bzoj
2809为例)
首先我知道
bzoj
2809正解应该是可并堆,之所以写treap启发式合并单纯只是因为这个脑洞…首先我们有两个treap,分别是A和B,它们的节点数分别为n和m(n#include#defineN100050
scpointer
·
2020-08-13 18:17
数据结构
算法竞赛
treap
脑洞
NOI模拟(5.23) TJOID2T3 教科书般的亵渎 (
bzoj
5339)
教科书般的亵渎题目背景:5.23模拟TJOI2018D2T3分析:拉格朗日差值这个题的题意怕不是有毒,注意他每一次的k是相同的,为总共要用多少次卡片,然后卡片是每次先将所有的数减一,如果这一次减一的过程中有一个数变成了0,那么就会把所有数再次减1,直到一次没有数被减为0,或者所有数都为0才算是一次卡片的效果停止,比如样例的第一组数据,用完一次卡片之后原来为1~4的怪物全部都已经死了,原来为6~10
scarlyw
·
2020-08-13 18:16
NOIP解题报告
------数学-------
拉格朗日插值
NOI模拟(5.21) TJOID1T3 party (
bzoj
5336)
Party题目背景:5.21模拟TJOI2018D1T3分析:状压DP我们定义dp[i][stats]表示,枚举到兑奖串第i位,当前每一个长度的子序列的最小终点为stats的方案数,解释一下后面半句,对于一个串,若最长的匹配子序列是n,那么对于长度1~n的匹配子序列都有至少一个,我们定义一个子序列的终点为,这个子序列最后一个数所在的位置,考虑每一种长度的子序列,每一种可行方案的当中终点最小的那个一
scarlyw
·
2020-08-13 18:16
NOIP解题报告
状态压缩DP
NOI模拟(5.21) TJOID1T2 智力竞赛 (
bzoj
5335)
智力竞赛题目背景:5.21模拟TJOI2018D1T2分析:floyed+二分+可重点最小链覆盖这道题的题意很奇葩,本质一点就是有一个有向图可以选择n+1条链,点可以重复,问覆盖不到的权值中最小值最大是多少?因为看原题担心会有环,还判了环,结果最后发现全部都是dag也不是很想说什么,因为是可重点,我们先用floyed跑一遍传递闭包,那么最小链覆盖就是直接进行二分图匹配,总点数-匹配数就是最小链覆盖
scarlyw
·
2020-08-13 18:16
NOIP解题报告
二分答案
floyed
二分图匹配
NOI
floyed
二分
可重点最小链覆盖
NOI模拟(5.23) TJOID2T2 xor (
bzoj
5338)
Xor题目背景:5.23模拟TJOI2018D2T2分析:树链剖分+可持久化trie一个子树查询一个链查询,妥妥的树链剖分,对于异或最大的数,显然是trie上高低位贪心就可以了,然后因为区间查询,那么可持久化就好了,复杂度O(nlog2n),其实还可以把两种询问分开来建可持久化trie,对于第一种按照dfs序建,第二种每次继承自己的父亲来建,这样就可以做到一个log,但是并没有很快,再加上有3秒,
scarlyw
·
2020-08-13 18:16
NOIP解题报告
树链剖分
trie
NOI模拟(5.23) TJOID2T1 str (
bzoj
5337)
str题目背景:5.23模拟TJOI2018D2T1分析:kmp+DP我们定义f[i][j]表示枚举到第i个串,当前匹配到s的第j位的方案数,那么每一次只需要将第i段中的每一个可能串和s做匹配,然后将匹配上的位置转移一下就可以了,边界就是f[0][i],0#include#include#include#include#include#include#include#include#include
scarlyw
·
2020-08-13 18:16
NOIP解题报告
kmp
杂
bzoj
2212(线段树合并第一道)
话说像这样的,维护的东西需要数据结构且需要合并的问题,就可以考虑合并。例如本题,我们所需要从叶子节点把维护的数据不断递推上来,所以就需要线段树合并。肯定是动态开节点这样的题如果写平衡树启发式合并的话,就要带两个log,而线段树合并一个log就可以,虽然每一次合并复杂度不确定,我们考虑,对于每一次操作,都是把两个线段树合并,而整个叶子节点共n颗线段树,每一颗只有一个元素,显然无论如何合并,n-1次之
running_in_dark
·
2020-08-13 18:37
线段树
上一页
45
46
47
48
49
50
51
52
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他