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
TJOI
BZOJ5335 : [
TJOI
2018]智力竞赛
二分答案,转化成求最少的路径,覆盖住所有权值$\leqmid$的点。建立二分图,若$i$的后继为$j$,则连边$i\rightarrowj$,求出最大匹配,则点数减去最大匹配数即为最少需要的路径数量。特别地如果某个点$i$的权值$>mid$,则它可以不经过,连边$i\rightarrowi$表示忽略该点。因为这是稠密图,用bitset优化匈牙利算法即可。时间复杂度$O(\frac{m^3\logm
weixin_33829657
·
2020-08-13 21:45
BZOJ5335:[
TJOI
2018]智力竞赛——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5335小豆报名参加智力竞赛,他带上了n个好朋友作为亲友团一块来参加比赛。比赛规则如下:一共有m道题目,每个入都有1次答题机会,每次答题为选择一道题目回答,在回答正确后,可以从这个题目的后续题目,直达题目答错题目或者没有后续题目。每个问题都会代表一个价值,比赛最后的参赛选手获得奖励价值等价于该选手和他
weixin_33744141
·
2020-08-13 21:00
BZOJ5335 [
TJOI
2018]智力竞赛
题目蓝链Solution我们可以贪心的考虑,就是尽量把小的覆盖完。我们把所有的点从小到大排序,然后直接二分覆盖前\(k\)个点,用网络流跑一下二分图求出最小链覆盖,然后就判断一下点数减去最小链有没有超过给定的人数Code#includeusingnamespacestd;#definesqu(x)((LL)(x)*(x))#definedebug(...)fprintf(stderr,__VA_A
weixin_30707875
·
2020-08-13 20:28
set+线段树合并分裂--bzoj4552: [
Tjoi
2016&Heoi2016]排序
传送门机房最后一个学习线段树合并的人qwq题目要求支持区间升序或降序排序,并且单点查询思路是一开始对每一个点建一个权值线段树,然后排序的话就是把一段权值线段树都合并起来,这样就无所谓顺序了,然后具体操作用setsetset什么的维护一下线段树的左右端点就好了重要的就是线段树合并和分裂了,合并的话就是真正意义上的合并(好像有时候不是直接合并?)把对应的sizsizsiz加起来,分裂根据本题目还要分前
..、
·
2020-08-13 18:28
线段树
NOI模拟(5.23) TJOID2T3 教科书般的亵渎 (bzoj5339)
教科书般的亵渎题目背景:5.23模拟
TJOI
2018D2T3分析:拉格朗日差值这个题的题意怕不是有毒,注意他每一次的k是相同的,为总共要用多少次卡片,然后卡片是每次先将所有的数减一,如果这一次减一的过程中有一个数变成了
scarlyw
·
2020-08-13 18:16
NOIP解题报告
------数学-------
拉格朗日插值
NOI模拟(5.21) TJOID1T3 party (bzoj5336)
Party题目背景:5.21模拟
TJOI
2018D1T3分析:状压DP我们定义dp[i][stats]表示,枚举到兑奖串第i位,当前每一个长度的子序列的最小终点为stats的方案数,解释一下后面半句,对于一个串
scarlyw
·
2020-08-13 18:16
NOIP解题报告
状态压缩DP
NOI模拟(5.21) TJOID1T2 智力竞赛 (bzoj5335)
智力竞赛题目背景:5.21模拟
TJOI
2018D1T2分析:floyed+二分+可重点最小链覆盖这道题的题意很奇葩,本质一点就是有一个有向图可以选择n+1条链,点可以重复,问覆盖不到的权值中最小值最大是多少
scarlyw
·
2020-08-13 18:16
NOIP解题报告
二分答案
floyed
二分图匹配
NOI
floyed
二分
可重点最小链覆盖
NOI模拟(5.23) TJOID2T2 xor (bzoj5338)
Xor题目背景:5.23模拟
TJOI
2018D2T2分析:树链剖分+可持久化trie一个子树查询一个链查询,妥妥的树链剖分,对于异或最大的数,显然是trie上高低位贪心就可以了,然后因为区间查询,那么可持久化就好了
scarlyw
·
2020-08-13 18:16
NOIP解题报告
树链剖分
trie
NOI模拟(5.23) TJOID2T1 str (bzoj5337)
str题目背景:5.23模拟
TJOI
2018D2T1分析:kmp+DP我们定义f[i][j]表示枚举到第i个串,当前匹配到s的第j位的方案数,那么每一次只需要将第i段中的每一个可能串和s做匹配,然后将匹配上的位置转移一下就可以了
scarlyw
·
2020-08-13 18:16
NOIP解题报告
kmp
杂
【BZOJ5335】【
TJOI
2018】智力竞赛
【题目链接】点击打开链接【思路要点】二分答案,然后用有上下界的最小流验证答案。时间复杂度\(O(LogM*Dinic(M,\sumK_i))\)。【代码】#includeusingnamespacestd;constintMAXN=505;constintMAXP=2005;constintINF=1e9;templatevoidchkmax(T&x,Ty){x=max(x,y);}templat
cz_xuyixuan
·
2020-08-13 17:50
【OJ】BZOJ
【类型】做题记录
【算法】倍增与二分
【算法】线性规划与网络流
【算法】有上下界的网络流
【
TJOI
2018】 异或(可持久化01Trie+树链剖分)
传送门【题目分析】可持久化Trie与主席树其实没啥太大的实现上的差别,因为一次只会插入一个串,也就只会在前一个版本的Trie上改变一条链,那么其他儿子就可以与主席树类似的操作直接继承。那么如何判断两个版本之间是否有一个串呢?我们对每个节点记一个size,只要后一个版本该节点的size>前一个版本该节点的size,那么就一定至少有一个串经过了当前节点。有了这个东西我们就可以直接根据dfs序建立可持久
Michael_GLF
·
2020-08-13 14:21
————数据结构————
树链剖分
Trie
BZOJ5335: [
TJOI
2018]智力竞赛
BZOJ5335:[
TJOI
2018]智力竞赛https://lydsy.com/JudgeOnline/problem.php?
diaopang1934
·
2020-08-13 13:17
bzoj5335: [
TJOI
2018]智力竞赛【二分+最小路径覆盖】
Description小豆报名参加智力竞赛,他带上了n个好朋友作为亲友团一块来参加比赛。比赛规则如下:一共有m道题目,每个入都有1次答题机会,每次答题为选择一道题目回答,在回答正确后,可以从这个题目的后续题目,直达题目答错题目或者没有后续题目。每个问题都会代表一个价值,比赛最后的参赛选手获得奖励价值等价于该选手和他的亲友团没有回答的问题中的最低价值。我们现在知道小豆和他的亲友团实力非常强,能够做出
Neo__Z
·
2020-08-13 13:10
二分答案
二分图
bzoj
[
TJOI
2018]教科书般的亵渎
Description小豆喜欢玩游戏,现在他在玩一个游戏遇到这样的场面,每个怪的血量为ai,且每个怪物血量均不相同,小豆手里有无限张“亵渎”。亵渎的效果是对所有的怪造成1点伤害,如果有怪死亡,则再次施放该法术。我们认为血量为0怪物死亡。小豆使用一张“亵渎”会获得一定的分数,分数计算如下,在使用一张“亵渎”之后,每一个被亵渎造成伤害的怪会产生x^k,其中x是造成伤害前怪的血量为x和需要杀死所有怪物所
a5163273
·
2020-08-13 12:11
ui
【题解】LuoGu3871:[
TJOI
2010]中位数
原题传送门法1堆用两个堆维护较小的那部分用大根堆,较大的那部分用小根堆每次保证大根堆中数的个数s1s1s1与小根堆的s2s2s2相比,s1=s2或s1=s2+1s1=s2或s1=s2+1s1=s2或s1=s2+1这样每次输出大根堆的根就行了Code:#includeusingnamespacestd;ints1,s2,n;priority_queueq1;priority_queue,greate
ModestCoder_
·
2020-08-13 12:55
题解
LuoGu
树状数组
[BZOJ5335]-[
TJOI
2018]智力竞赛-二分答案+可重路径覆盖
说在前面md笔记本键盘真难用…到了林荫校区了qwq,感觉很棒!题目BZOJ5335传送门看题可戳传送门解法me觉得这个题面描述十分不清真题意就是让求可重最小链覆盖,但是题目上并没有说有没有环,所以正常写法就是先tarjan,然后跑一遍floyd处理连通性,最后二分答案check然而me觉得出题人不可能强行tarjan,于是把LOJ的数据全部下载下来check了一遍,发现全是DAG==???这就很有
泉華子
·
2020-08-13 11:51
二分答案
二分图
bzoj5335 [
TJOI
2018]智力竞赛(Floyd+二分答案+匈牙利)
二分答案以后就是个最小路径覆盖。注意要先Floyd传递闭包。#include#include#includeusingnamespacestd;#definelllonglong#defineinf0x3f3f3f3f#defineN510inlinechargc(){staticcharbuf[1'9'){if(ch=='-')f=-1;ch=gc();}while(ch>='0'&&ch>1;
Icefox_zhx
·
2020-08-13 11:19
bzoj
二分答案
二分图
[bzoj5335][loj2574][
TJOI
2018]智力竞赛【网络流】
【题目链接】https://loj.ac/problem/2574【题解】每次加入最小的点并判断是否可行,判断的方法是将每个点拆成入点和出点,加入时连一条下界为1的边,跑最小流。若最小流≤n+1≤n+1则可行。时间复杂度O(MV)O(MV)(V为边数)(V为边数)【代码】#include#definelllonglong#defineinf0x3f3f3f3f#defineN1010#define
VanishD
·
2020-08-13 11:44
【网络流】
TJOI
2018 d1t2 智力竞赛
题意不太明确......这题的n需要一上来就+1。就是求一个可交最小路径覆盖,二分答案即可。不知道为什么我的常数那么大,别人几乎300ms就完事了,我需要800ms。#include#include#includeusingnamespacestd;inlinechargc(){staticcharnow[1'9')c=gc();while(c>='0'&&c>1;mid=b[mid];intsu
Richard_for_OI
·
2020-08-11 02:42
图论
网络流
比赛
[
TJOI
2014] Alice and Bob
非常好的一道思维性题目,想了很久才想出来qwq(我好笨啊)考虑a[]数组有什么用,首先可以yy出一些性质(设num[i]为原来第i个位置的数是什么,因为题目说至少有一个排列可以满足a[],所以我们就假设num[]没有相同的元素):1.当a[i]==a[j]且inum[j],因为如果反过来的话a[j]就至少是a[i]+1了。2.对于任意一个a[i],考虑所有a[j]+1==a[i]的j,它们中至少有
weixin_30387663
·
2020-08-10 22:03
[
TJOI
2014]Alice and Bob
题目描述:定义一个序列x1,x2...xnx1,x2...xna序列a1,a2...ana1,a2...an表示以i为结尾的最长上升子序列的长度b序列b1,b2...bnb1,b2...bn表示以i为开头的最长下降子序列的长度求在满足a序列的情况下Max(∑ni=1bi)Max(∑i=1nbi)题目分析:根据求LIS的方法,我们可以知道若aiai不为1,则存在一个aj=ai−1aj=ai−1如果多
HT008_123
·
2020-08-10 19:25
题目分析
DFS
贪心
题解 洛谷P3859 【[
TJOI
2008]小偷】
题目传送门这是一道有点变形的背包问题这个小哥只能从0号门出,如果后面的门没关,但前面的门关了,他还是出不来。所以我们要把每个门的关闭时间更新为前面的门最早关闭时间(0不用)用dpidp_idpi记录第iii时刻后获得的宝石最大价值上代码:#include#includeusingnamespacestd;inta[55],d[105],r[105],t[105],v[105],dp[1005];i
Joe_xiaokong
·
2020-08-10 14:32
动态规划
NTT+分治FFT--P4091 [HEOI2016/
TJOI
2016]求和
传送门这道题很妙啊首先看题目中的式子,令新的f(n)=∑i=0nS(n,i)×2i×(i!)f(n)=\sum_{i=0}^nS(n,i)\times2^i\times(i!)f(n)=∑i=0nS(n,i)×2i×(i!),如果能快速求出这个式子的值,那么ans=∑i=0nf(i)ans=\sum_{i=0}^nf(i)ans=∑i=0nf(i)首先设g(n)=∑i=0nS(n,i)×i!g(n
..、
·
2020-08-09 12:25
NTT
FFT
——多项式——
洛谷 P1377 [
TJOI
2011]树的序
https://www.luogu.com.cn/problem/P1377二叉搜索树的性质:1.父节点一定比子节点早出现。2.左子树的值usingnamespacestd;constintmaxl=1e5+10;intn;inta[maxl];structnode{intk,val,fa,ls,rs;}tr[maxl];inlinevoidprework(){scanf("%d",&n);for
二分抄代码
·
2020-08-09 09:17
笛卡尔树
二叉搜索树
[BZOJ3998]
TJOI
2015弦论|后缀自动机
对SAM不太熟做这题想了很久才想清楚。。大爷们的博客都写的好简(我太弱) 首先对原串建SAM。。如果能求出f[i]表示以root走到状态i的路径为开头往后能得到的串的数量,我们就可以像线段树那样的查询了(26分?)。。设num[i]为已确定的一条root到i的路径对应的子串数量,当T=0的时候,显然num[i]=1,num[root]=0;对于T=1,root到i的路径对应的串还可以作为另一
Tag_king
·
2020-08-08 13:31
BZOJ
bzoj4551 [
Tjoi
2016&Heoi2016]树(dfs序+线段树)
我们发现标记一个点只会影响他的子树的答案,用dfs序转化为区间覆盖即可,深度越深越接近。还可以lct。#include#include#include#includeusingnamespacestd;#definelllonglong#defineinf0x3f3f3f3f#defineN100010inlineintread(){intx=0,f=1;charch=getchar();whil
Icefox_zhx
·
2020-08-08 12:39
bzoj
线段树
-----树-------
蒟蒻的做题录(时间)
道[SCOI2016]萌萌哒[HAOI2018]苹果树[CTSC2008]网络管理[HNOI/AHOI2018]转盘[HAOI2015]树上染色[CTSC2017]吉夫特[CTSC2011]幸福路径[
TJOI
2015
aoanping0730
·
2020-08-05 18:35
洛谷P3781 [
TJOI
2010] Middle 中位数 详细题解
查看原题请进入传送门:https://www.luogu.org/problem/show?pid=3871先说说这道题的做法:需要用两个堆来维护中位数左右的数!一个大根堆bigheap(bhp)维护中位数mid左(比mid小)的数,队首(bhp[0])表示离当前mid最接近但小于mid的数。一个小根堆smallheap(shp)维护中位数mid右(大于等于mid)的数,队首(shp[0])表示离
Paperback_Writer
·
2020-08-04 12:57
题解
数据结构
用SAM建广义后缀树
原文写的还比较详细,所以本蒟蒻就不再自己写一个了……用SAM建广义后缀树例题
TJOI
的单词离线构造#include#include#include#definefo(i,a,b)for(i=a;i=b;
WerKeyTom_FTD
·
2020-08-02 22:59
后缀自动机
洛谷P3975 [
TJOI
2015]弦论 (后缀自动机sam求第k小子串)
题目描述为了提高智商,ZJY开始学习弦论。这一天,她在《Stringtheory》中看到了这样一道问题:对于一个给定的长度为n的字符串,求出它的第k小子串是什么。你能帮帮她吗?输入格式第一行是一个仅由小写英文字母构成的字符串s第二行为两个整数t和k,t为0则表示不同位置的相同子串算作一个,t为1则表示不同位置的相同子串算作多个。k的意义见题目描述。输出格式输出数据仅有一行,该行有一个字符串,为第k
Sher杨
·
2020-08-01 00:29
后缀自动机sam
洛谷-P3871 [
TJOI
2010]中位数
P3871[
TJOI
2010]中位数题目描述给定一个由N个元素组成的整数序列,现在有两种操作:1adda在该序列的最后添加一个整数a,组成长度为N+1的整数序列2mid输出当前序列的中位数中位数是指将一个序列按照从小到大排序后处在中间位置的数
xu0_zy
·
2020-07-30 05:59
日常小题
-
2018
超多解
线段树
Treap
堆
[
TJOI
2010] 被污染的河流
题目描述:河水被污染啦题目分析:很明显,每条河流能够污染的区域是一个矩形。其实本题就是让我们求一个矩形面积并题目链接:Luogu3875Ac代码:#include#include#include#includeconstintmaxm=21000;structnode{intxl,xr,h;intf;}link[maxmqr||r>1;modify((o<<1),l,mid,ql,qr,s);mo
HT008_123
·
2020-07-28 07:54
题目分析
线段树
扫描线
【DP水题】P4823 [
TJOI
2013]拯救小矮人
题目传送门题目题目描述一群小矮人掉进了一个很深的陷阱里,由于太矮爬不上来,于是他们决定搭一个人梯。即:一个小矮人站在另一小矮人的肩膀上,知道最顶端的小矮人伸直胳膊可以碰到陷阱口。对于每一个小矮人,我们知道他从脚到肩膀的高度Ai,并且他的胳膊长度为Bi。陷阱深度为H。如果我们利用矮人1,矮人2,矮人3,。。。矮人k搭一个梯子,满足A1+A2+A3+....+Ak+Bk>=H,那么矮人k就可以离开陷阱
大国梦_小兔子
·
2020-07-25 20:00
【题解】【LOJ2102】「
TJOI
2015」弦论
题目链接点击打开链接题目解法后缀自动机入门题。建立后缀自动机。求第\(k\)大可以考虑按位确定。把后缀自动机当成一个trie树看,每次类似于平衡树上查找第k大的方式查找即可。总结没啥。代码#include#includeusingnamespacestd;constintCN=5e5+5,CNODE=1e6+5;structSAM{intedge[26],parent,len,size;booll
Petrichor_YR
·
2020-07-20 14:00
洛谷P3868 [
TJOI
2009]猜数字【中国剩余定理】
题目描述现有两组数字,每组k个,第一组中的数字分别为:a1,a2,…,ak表示,第二组中的数字分别用b1,b2,…,bk表示。其中第二组中的数字是两两互素的。求最小的非负整数n,满足对于任意的i,n-ai能被bi整除。输入格式:输入数据的第一行是一个整数k,(1≤k≤10)。接下来有两行,第一行是:a1,a2,…,ak,第二行是b1,b2,…,bk输出格式:输出所求的整数n。说明所有数据中,第一组
niiick
·
2020-07-16 03:25
中国剩余定理
数学;数论
洛谷P4589 [
TJOI
2018]智力竞赛(二分答案 二分图匹配)
题意题目链接给出一个带权有向图,选出n+1n+1条链,问能否全部点覆盖,如果不能,问不能覆盖的点权最小值最大是多少SolTJOI怎么净出板子题二分答案之后直接二分图匹配check一下。多读读题就会发现题目要求的就是可相交的最小路径覆盖,那么按照套路先floyd一遍,如果能联通的话就再二分图中加边,然后判一下最大匹配数就行了。刚开始以为因为有的点可以不选,要在匈牙利的时候进行玄学贪心,其实是不用的,
weixin_30758821
·
2020-07-15 03:10
3170: [
Tjoi
2013]松鼠聚会
TimeLimit:10SecMemoryLimit:128MBSubmit:1804Solved:968[Submit][Status][Discuss]Description有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1。现在N个松鼠要走到一个松鼠家去,求走过的最短距离。Input第一行给出数字N,表示有多少只
anjiang8171
·
2020-07-14 07:41
[bzoj4552][
Tjoi
2016&Heoi2016]排序 二分+线段树
4552:[
Tjoi
2016&Heoi2016]排序TimeLimit:60SecMemoryLimit:256MB[Submit][Status][Discuss]Description在2016年,
Leokery
·
2020-07-13 23:32
线段树
省选
bzoj
【bzoj4552】 [
Tjoi
2016&Heoi2016]排序
Description在2016年,佳媛姐姐喜欢上了数字序列。因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他。这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排序分为两种:1:(0,l,r)表示将区间[l,r]的数字升序排序2:(1,l,r)表示将区间[l,r]的数字降序排序最后询问第q位置上的数字。Input输入数据的第一行为两
愤怒的愣头青
·
2020-07-13 16:40
二分
线段树
[Treap套权值线段树 线段树分裂与合并] BZOJ 4552 [
Tjoi
2016&Heoi2016]排序
线段树合并写了不少分裂是第一次直接每一个有序区间用一棵权值线段树维护有哪些数外层用treap维护顺序然后排序就把代表这段的很多颗线段树合并在一起两端处会割开某个有序区间会涉及分裂操作#include#include#includeusingnamespacestd;inlinecharnc(){staticcharbuf[100000],*p1=buf,*p2=buf;if(p1==p2){p2=
里阿奴摩西
·
2020-07-13 16:07
线段树
平衡树
树套树
bzoj4552 [HEOI2016/
TJOI
2016]排序(二分+线段树)
题解哇二分..真厉害!每次二分一个数,然后把小于x的数当做0,大于的当做1然后对于每一段,想把它排好序,也就是把1和0排好序,也就是把部分改成1、部分改成0。而这一段里面有几个1就可以区间和解决了。即如果已经求出这段有cnt个1,升序操作[l,r-cnt]=0,[r-cnt+1,r]=1;降序操作[l,l+cnt-1]=1,[l-cnt,r]=0代码#include#defineN100010in
sunshiness_s
·
2020-07-13 14:35
线段树
二分
【bzoj4552】【
Tjoi
2016&Heoi2016】【排序】【线段树】
Description在2016年,佳媛姐姐喜欢上了数字序列。因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他。这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排序分为两种:1:(0,l,r)表示将区间[l,r]的数字升序排序2:(1,l,r)表示将区间[l,r]的数字降序排序最后询问第q位置上的数字。Input输入数据的第一行为两
sunshinezff
·
2020-07-13 14:35
线段树
BZOJ 4552 [
Tjoi
2016&Heoi2016]排序 线段树+二分
4552:[
Tjoi
2016&Heoi2016]排序TimeLimit:60SecMemoryLimit:256MBSubmit:1468Solved:738[Submit][Status][Discuss
VampireWeekend
·
2020-07-13 13:28
线段树
BZOJ 4552: [
Tjoi
2016&Heoi2016]排序
BC#76这题目好鏼啊!(我也不知道怎么就满足二分性了)#include#include#include#include#include#include#include#include#include#definerep(i,l,r)for(inti=l;i=l;i--)#definemmt(a,v)memset(a,v,sizeof(a))#definetra(i,u)for(inti=head
nlj1999
·
2020-07-13 08:58
二分法
线段树
BZOJ4552 [
Tjoi
2016&Heoi2016]排序
BC#76原题……二分答案,把小于等于mid的设成零,大于mid的设成1,然后排序可视为区间赋值和区间求和,可用线段树做当mid大于等于答案的时候,最后p的位置一定是0,当mid小于答案的时候,p的位置一定是1,所以满足可二分性复杂度O(nlog^2n)#include#include#include#include#include#include#include#include#include#
neither_nor
·
2020-07-13 08:01
BZOJ
线段树
二分
[bzoj 4552--
TJOI
2016&HEOI2016]排序
在2016年,佳媛姐姐喜欢上了数字序列。因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你来帮助他。这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排序分为两种:1:(0,l,r)表示将区间[l,r]的数字升序排序。2:(1,l,r)表示将区间[l,r]的数字降序排序。最后询问第q位置上的数字。这道题思路挺巧妙的。它最后只问一个数肯定有蹊跷,
galiqing
·
2020-07-13 07:25
bzoj
二分
线段树
bzoj600步
【二分+线段树】BZOJ4552 [
Tjoi
2016&Heoi2016]排序
题面在这里首先想到二分然后就可以把整个序列转化成01序列(0比mid小,1比mid大)这样排序的操作就可以用线段树区间覆盖来实现最后判断K这个位置是0还是1,就完成了二分的验证竟然1A了,好高兴示例程序:#includeinlinecharnc(){staticcharbuf[100000],*p1=buf,*p2=buf;returnp1==p2&&(p2=(p1=buf)+fread(buf,
linkfqy
·
2020-07-13 07:41
BZOJ
线段树Segment_Tree
我的OI历程
常见OJ题解专栏
bzoj4555 [HEOI2016/
TJOI
2016]求和
题目描述在2016年,佳媛姐姐刚刚学习了第二类斯特林数,非常开心。现在他想计算这样一个函数的值:f(n)=∑i=0n∑j=0iS(i,j)×j!×2jf(n)=∑i=0n∑j=0iS(i,j)×j!×2jS(i,j)表示第二类斯特林数你能帮帮他吗?输出f(n)。由于结果会很大,输出f(n)对998244353(7×17×223+1)取模的结果即可Solution首先j的枚举上界可以直接变成n,原因
olahiuj
·
2020-07-13 06:42
c++
NTT
bzoj
BZOJ4552 [HEOI2016/
TJOI
2016]排序
AddressBZOJ4552洛谷P2824Solution很有意思的题。先考虑如果序列中的数字只有0和1的情况:记修改区间[l,r][l,r]中1的数量为sumsum。对于升序排序,即将区间[l,r−sum][l,r−sum]全部标记为0,区间[r−sum+1,r][r−sum+1,r]全部标记为1。对于降序排序,即将区间[l,l+sum−1][l,l+sum−1]全部标记为1,区间[l+sum
Log_x
·
2020-07-13 03:41
洛谷
BZOJ
[bzoj4552][
TJOI
&HEOI2016]排序
题目大意有一个n的排列,进行m次操作,每次操作是将一个区间升序或降序排序。请你输出m次操作后第p个位置的值。二分答案题解好机智!我们二分答案x,然后就是判断a[p]>=x?把原序列转化为01序列,0表示小于x,1表示大于等于x。那么区间升序排序其实就是把0全放前面,1都放后面。用线段树兹瓷区间赋值就好了。然后只需要维护区间0的个数。#include#include#definefo(i,a,b)f
WerKeyTom_FTD
·
2020-07-13 01:09
线段树
二分法
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他