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
Codechef
【BZOJ4546】
codechef
XRQRS【可持久化Trie / +主席树】
【题目链接】早上刚在CC上做了,中午就被人搬到BZOJ了。。不知道为什么n开50wRE,开了52w卡了下内存就过了。【CC上这题题解】/*Pigonometry*/ #include #include #include usingnamespacestd; constintmaxn=520005,maxk=21,maxnode=maxn*maxk; introot[maxn],triecnt
BraketBN
·
2016-04-22 14:00
【
CodeChef
-XRQRS】Xor Queries【可持久化Trie / +主席树】
【题目链接】有中文题面就不发题意了。似乎维护一个可持久化Trie和一个主席树就可以做了,但是仔细想想好像只需要一个可持久化Trie就完了。脑补了一下Trie上找第k大和统计数个数,似乎是对了。1A了。。/*Pigonometry*/ #include #include #include usingnamespacestd; constintmaxn=500005,maxk=21,maxnode
BraketBN
·
2016-04-22 08:00
[生成函数 FFT 分块] BZOJ 3509 [
CodeChef
] COUNTARI
学着大神优化了FFT常数:http://blog.csdn.net/geotcbrl/article/details/50636401可以看出来这是个生成函数暴力的话是N次FFT 然后考虑分块B次FFT+块内统计#include #include #include #include #include #definecl(x)memset(x,0,sizeof(x)) #definePIacos(-
u014609452
·
2016-04-21 13:00
【
CodeChef
-LYRC】Music & Lyrics【AC自动机】
【题目链接】给出W个模板串和N个匹配串,问每个模板串在所有匹配串中一共出现了多少次。先把所有模板串放进AC自动机,然后用每个匹配串在AC自动机上跑,走过的节点权值++。最后在fail树上做个前缀和,查询每个模板串的结尾节点的权值就好了。一开始求前缀和写了深搜,但是看了策爷代码,发现可以利用求fail时的广搜队列来跑前缀和,orz%%%。模板串和匹配串长度不一样,数组开小了WA了一发。/*Pigon
BraketBN
·
2016-04-21 07:00
【
CodeChef
-CSEQ】Count Sequences【Lucas定理】
【题目链接】答案为C(n+R-L+1,n)-1。大体推导过程是固定长度,然后隔板法,然后对长度求和。暴力算组合数那里,要判断n #include #include usingnamespacestd; typedefunsignedlonglongULL; constintmaxn=1000505; constULLp=1000003; ULLfact[maxn]; inlineinti
BraketBN
·
2016-04-20 23:00
CodeChef
PALPROB Palindromeness
Palindromeness Problemcode: PALPROBTweetALLSUBMISSIONSAllsubmissionsforthisproblemareavailable.Readproblemsstatementsin MandarinChinese and Russian.Letusdefinethepalindromenessofastringinthefollowingw
jtjy568805874
·
2016-04-18 20:00
【BZOJ3514】
Codechef
MARCH14 GERALD07加强版
题目 这是一道好题。(只是我这种蒟蒻这样认为,求大牛勿喷) 先不考虑L和R的限制。一开始每个点都是一个联通块,则答案是n,我们发现如果加进来一条边,边的两边之前没有联通,那么答案就会减一(及贡献为-1)。如果边的两边已经联通了,则对答案没有贡献。 现在有了L和R的限制。相当于原来有一些对答案没有贡献的边可能会对答案有-1的贡献,那什么样的边会对答案有影响呢?我
LwOGai
·
2016-04-13 12:00
题解
主席树
LCT
Codechef
MARCH14 GERALD07加强版
CodechefMARCH14GERALD07加强版题目描述传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3514题解题解放这里会被莫名吞,所以放在代码里。代码/* 我们需要知道每条边对于答案的贡献。 如果这条边是树边,那么贡献为-1,否则贡献为0。 所以我们需要维护每条边在一段区间内是否为树边。 这个问题可以用lct来做。 每次插入一条边
wcy_1122
·
2016-04-08 00:00
【
codechef
】交换字符串S的两个位置上的字符,求有多少对AB不相似
有一种操作,是交换字符串的两个位置上的字符(位置可以一样)。对于两个字符串A、B,如果分别对它们做这个操作后得出一样字符串C,那么称AB相似。现在给出一个字符串S,A和B分别都是它的全排列里的一种。现在求有多少对A、B满足AB不相似。//相似:A变化成C,B也变化成C,那么AB相似。那么不妨设B不动,A变化两次是否能到B。 //假设B是随便取的,A是顺着B取的,那么B在取每一种排列时都有某几种A的
cacyth
·
2016-04-05 22:00
Top 11 websites for practise programming
1:TopCoder.Theworldlargestprogrammingcompetewebsite.IthostsSRMforcontest.2:
CodeChef
.
github_34333284
·
2016-03-29 01:00
CodeChef
MONOPOLY 基于Access性质的线段树维护
题目大意给你N个点组成的一棵树,标号为0~N−1且编号为0的点为根。每个点都有一种颜色,一开始N个点的颜色都不相同。距离的定义:如果两个相邻的节点颜色一样则两点间的距离为0,否则为1。现在给你Q个操作,每个操作给你一个字符和一个数字Ord,u。Ord=O:把编号为u的点到根路径上的所有点染成一种新的颜色。Ord=q:询问以u为根的子树中的所有节点到根的距离和。N,Q #include #inclu
YxuanwKeith
·
2016-03-26 10:00
【
CodeChef
-PARSIN】Sine Partition Function【矩阵乘法】【DP】
https://www.
codechef
.com/problems/PARSIN(题意很明显,不发了)集训队作业题,详见http://pan.baidu.com/s/1t2Pdk里的PARSIN.pdf
BraketBN
·
2016-03-16 09:00
CodeChef
codechef
CBAL
传送门:https://www.
codechef
.com/problems/CBAL思路:先求一遍出现次数前缀和,我们只管每个字母出现次数奇偶性,所以可以把状态压缩一下,离散化之后就只有最多n个状态对于子串
thy_asdf
·
2016-03-16 08:00
CodeChef
Arithmetic Progressions (分块FFT)
题意:给出A1,A2,...,AN统计满足:▶i #include #include #include #include usingnamespacestd; #definepiacos(-1) #definemaxn151111 structplex{ doublex,y; plex(double_x=0.0,double_y=0.0):x(_x),y(_y){} plexoperator+(
morejarphone
·
2016-03-15 21:00
BZOJ4408: [Fjoi 2016]神秘数&&BZOJ4299:
Codechef
FRBSUM
讲道理这道题的做法还是很神de对于当前区间扩展可达到[0,max]则一定可以扩展到[0,sum(i)(i #include #include #include usingnamespacestd; structSeg {intl,r,data;Seg*lc,*rc;Seg(){lc=rc=NULL;}} *Tree[1000001]; Seg*empty; inlinevoidBg() { em
liutian429073576
·
2016-03-10 17:00
【BZOJ4299】
Codechef
FRBSUM
Description数集S的ForbiddenSum定义为无法用S的某个子集(可以为空)的和表示的最小的非负整数。例如,S={1,1,3,7},则它的子集和中包含0(S’=∅),1(S’={1}),2(S’={1,1}),3(S’={3}),4(S’={1,3}),5(S’={1,1,3}),但是它无法得到6。因此S的ForbiddenSum为6。给定一个序列A,你的任务是回答该数列的一些子区间
CreationAugust
·
2016-03-09 10:00
主席树
【BZOJ4260】
Codechef
REBXOR
DescriptionInput输入数据的第一行包含一个整数N,表示数组中的元素个数。第二行包含N个整数A1,A2,…,AN。Output输出一行包含给定表达式可能的最大值。SampleInput512312SampleOutput6HINT满足条件的(l1,r1,l2,r2)有:(1,2,3,3),(1,2,4,5),(3,3,4,5)。对于100%的数据,2≤N≤4*105,0≤Ai≤109。
CreationAugust
·
2016-03-08 21:00
可持久化trie
BZOJ 4299:
Codechef
FRBSUM
BZOJ4299:CodechefFRBSUM标签(空格分隔):OI-BZOJOI-可持久化线段树TimeLimit:10SecMemoryLimit:128MBDescription数集S的ForbiddenSum定义为无法用S的某个子集(可以为空)的和表示的最小的非负整数。例如,S={1,1,3,7},则它的子集和中包含0(S’=∅),1(S’={1}),2(S’={1,1}),3(S’={3
wuyuhan
·
2016-03-04 14:00
【
Codechef
】B-Tree
题目描述给出一棵n个点的树,边权都为1,以及m个询问,每一个询问形式如下:给出k个点的集合S={a1,a2,⋯,ak},以及每一个点的控制范围rai。一个点p称为被控制的,当且仅当∃x∈S,dis(x,p)≤rx问有多少个点被控制。n,Q≤5×104,∑k≤5×105分析part1简化的问题不妨先看当k=1时,问题变成怎么样的了。给出一棵树,每次询问距离点x的距离小于r的点的个数。考虑点剖,每一个
Yves___
·
2016-03-02 21:00
BZOJ4260:
Codechef
REBXOR
Description Input输入数据的第一行包含一个整数N,表示数组中的元素个数。第二行包含N个整数A1,A2,…,AN。 Output输出一行包含给定表达式可能的最大值。 SampleInput512312SampleOutput6HINT 满足条件的(l1,r1,l2,r2)有:(1,2,3,3),(1,2,4,5),(3,3,4,5)。对于100%的数据,2≤N≤4*105,0≤
wzj_is_a_juruo
·
2016-02-29 16:00
bzoj3514:
Codechef
MARCH14 GERALD07加强版
DescriptionN个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数。Input第一行四个整数N、M、K、type,代表点数、边数、询问数以及询问是否加密。接下来M行,代表图中的每条边。接下来K行,每行两个整数L、R代表一组询问。对于type=0的测试点,读入的L和R即为询问的L、R;对于type=1的测试点,每组询问的L、R应为Lxorlastans和Rxorlas
chenyushuo
·
2016-02-28 17:00
BZOJ3514:
Codechef
MARCH14 GERALD07加强版
主席树+LCT每次加边的时候判断一下是否成环如果没有就加进去否则弹出环内比序号最小边然后统计答案#include #include #include #include #include usingnamespacestd; charc; inlinevoidread(int&a) { a=0;doc=getchar();while(c'9'); while(c='0')a=(alc==this|
liutian429073576
·
2016-02-28 11:00
【
CodeChef
】 Life, the Universe, and Everything
ProblemhereAllsubmissionsforthisproblemareavailable.Forhelponthisproblem,pleasecheckoutourtutorialInputandOutput(I/O)ProblemYourprogramistousethebrute-forceapproachinordertofindtheAnswertoLife,theUniv
LeongHouHeng
·
2016-02-28 10:00
CodeChef
【
CodeChef
】ATM
ProblemhereAllsubmissionsforthisproblemareavailable.ProblemPoojawouldliketowithdrawXUSfromanATM.ThecashmachinewillonlyacceptthetransactionifXisamultipleof5,andPooja′saccountbalancehasenoughcashtoperfo
LeongHouHeng
·
2016-02-28 10:00
【
CodeChef
】Enormous Input Test
ProblemhereAllsubmissionsforthisproblemareavailable.ProblemThepurposeofthisproblemistoverifywhetherthemethodyouareusingtoreadinputdataissufficientlyfasttohandleproblemsbrandedwiththeenormousInput/Outp
LeongHouHeng
·
2016-02-28 10:00
【
CodeChef
】Holes in the text
ProblemhereAllsubmissionsforthisproblemareavailable.ProblemChefwrotesometextonapieceofpaperandnowhewantstoknowhowmanyholesareinthetext.Whatisahole?Ifyouthinkofthepaperastheplaneandaletterasacurveonthe
LeongHouHeng
·
2016-02-28 10:00
CodeChef
【bzoj3514】
Codechef
MARCH14 GERALD07加强版 LCT&&主席树
wulala葱娘说这是一个很巧妙的题。。有一个比较猎奇的做法:首先把边依次加到图中,若当前这条边与图中的边形成了环,那么把这个环中最早加进来的边弹出去并将每条边把哪条边弹了出去记录下来:ntr[i]=j,特别地,要是没有弹出边,ntr[i]=0;这个显然是可以用LCT来弄的对吧。然后对于每个询问,我们的答案就是对l~r中ntr小于l的边求和,并用n减去这个值正确性可以YY一下:如果一条边的ntr>
lych_cys
·
2016-02-27 22:00
splay
主席树
LCT
4408: [Fj Winter Camp 2016]神秘数&&4299:
Codechef
FRBSUM|主席树
好神的一道题!很容易发现假如已经构造出来了1,2...max再插入一个数x,假如x≤max+1那么现在就可以构造出1,2...max,max+1...max+x于是我们可以这样做,先建立主席树。对于询问区间[l,r],当前的max=0,然后不断查询区间[l,r]中1到max+1所有数的和来更新max如果区间[l,r]中1到max+1所有数的和>max,那么肯定可以构造出1到这个所有数的和之间的数,
ws_yzy
·
2016-02-27 20:00
主席树
【两道不会写的题】
//给定k小时,在这k小时内参加这n场比赛(同时开始),每场比赛最多只能做一题,//问最多能获得多少开心值//限制:有m次使用魔法的机会,可以将不同比赛的两道题目互相交换位置 https://www.
codechef
.com
cacyth
·
2016-02-26 22:00
【
codechef
】Feb.Challenge【逆元,超时题等】
B.https://www.
codechef
.com/problems/STROPR题意:将数列{x1,x2,..,xn}进行前缀累加操作,得到{s1,s2,..,sn},求这样操作k次后数列中第m个值
cacyth
·
2016-02-15 22:00
bzoj4260
Codechef
REBXOR
DescriptionInput输入数据的第一行包含一个整数N,表示数组中的元素个数。第二行包含N个整数A1,A2,…,AN。Output输出一行包含给定表达式可能的最大值。 dp求出:对每个r1,A[l1]^A[l1+1]^...^A[r1]的最大值对每个l2,A[l2]^A[l2+1]^...^A[r2]的最大值对每个i,A[l1]^A[l1+1]^...^A[r1]的最大值lm[i] (r1
nul
·
2016-02-09 16:00
BZOJ 3221: [
Codechef
FEB13] Obserbing the tree树上询问( 可持久化线段树 + 树链剖分 )
树链剖分+可持久化线段树....这个一眼可以看出来,因为可持久化所以写了标记永久化(否则就是区间修改的线段树的持久化..不会),结果就写挂了,T得飞起...和管理员拿数据调后才发现==做法:码码码码码码码码...码完就AC啦.O(MlogN)-------------------------------------------------------------------#include#inc
JSZX11556
·
2016-02-08 23:00
【 bzoj 3509 】[
CodeChef
] COUNTARI - 分块FFT
看起来很像数据结构乱搞?然而仔细看看数据范围:Aiusingnamespacestd;#definerep(i,a,b)for(inti=a,_=b;i=_;i--)#defineFor(i,a,b)for(inti=a,_=b;ib)a=b;}typedeflonglongll;constintmaxn=110007;constintmaxs=61007;constintmaxb=307;con
GEOTCBRL
·
2016-02-04 21:23
分块
FFT
【 bzoj 3509 】[
CodeChef
] COUNTARI - 分块FFT
看起来很像数据结构乱搞?然而仔细看看数据范围:Ai usingnamespacestd; #definerep(i,a,b)for(inti=a,_=b;i=_;i--) #defineFor(i,a,b)for(inti=a,_=b;ib)a=b;} typedeflonglongll; constintmaxn=110007; constintmaxs=61007; constintmax
GEOTCBRL
·
2016-02-04 21:00
题目来源分类
比赛:按重要度和先后顺序来排序:sdoi,noi,wc,apio,ctsc(题库的话:uoj,bzoj,
codechef
,bestcoder,topcoder各种网站和比赛)来吧,老子不怕你们!
qq_20669971
·
2016-02-04 20:00
BZOJ 3514:
Codechef
MARCH14 GERALD07加强版( LCT + 主席树 )
从左到右加边,假如+的边e形成环,那么记下这个环上最早加入的边_e,当且仅当询问区间的左端点>_e加入的时间,e对答案有贡献(脑补一下).然后一开始是N个连通块,假如有x条边有贡献,答案就是N-x.用LCT维护加边,可持久化线段树维护询问.O(NlogN)------------------------------------------------------------------------
JSZX11556
·
2016-02-02 12:00
【 bzoj 4299 】
Codechef
FRBSUM - 主席树乱搞
一眼看status吓得我还以为是分块。。。其实是水题。考虑给定一个集合,如何得到FRBSUM。按某种顺序从集合中取数,设之前取的数可以取到的最大值为mx(雾)且[1,mx]都可以取到,然后现在新加了一个数x,如果x≤mx+1,那么最大值可以由mx扩到mx+lim,同时(x,mx+lim)内的数显然也可以得到。而如果x>mx+1时,取FRBSUM=mx+1即可。如果这个顺序是从小到大,那么就会有神奇
GEOTCBRL
·
2016-01-21 17:00
【 bzoj 3514 】
Codechef
MARCH14 GERALD07加强版 - LCT
题意简单明了。。。考虑从头开始加边。如果还是一棵树的时候,加入了一条边会怎么样。如果还是树就不鸟他。但是如果构成了环,那么这个环要存在的必要条件显然是最早的边要存在。(当然这个环上的其他边也要存在,但这不重要,因为如果最早的边存在了,这些边肯定会存在),如果将当前边设为Ej,这个环上标号最小的边设为Ei,那我们称Ej依赖于Ei。因为如果当前是棵树的情况下,如果Ei不在里面,即使Ej加入了也对树结构
GEOTCBRL
·
2016-01-21 16:00
【Jan.Challenge】总结
https://www.
codechef
.com/JAN16?order=desc&sortBy=successful_submissions这场月赛里除了第四道每题都有磕磕绊绊的感觉。。。
cacyth
·
2016-01-20 21:00
[BZOJ4260]
Codechef
REBXOR
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=4260题目大意给定序列,求最大的(xl1 xor xl1+1 xor ...xr1)+(xl2 xor xl2+1 xor ...xr2)题解xor是支持交换律的,所以我们维护xor前缀和xl1 xor xl1+1 xor ...xr1=sum[r1]xorsum[l1−1]问题变为求(sum[
slongle_amazing
·
2016-01-18 22:00
【Jan.Challenge】持续时刻变化的线段树(某时刻领先选手的位置)
https://www.
codechef
.com/JAN16/problems/CYCLRACE两种方法:[线段树+二分]/[队列]但是我发现那些AC的队列代码都过不了一个样例:3101012210011222100150322100150382100152262100
cacyth
·
2016-01-14 21:00
[
CODECHEF
]COUNTARI
ArithmeticProgressions题目链接:https://www.
codechef
.com/problems/COUNTARIAllsubmissionsforthisproblemareavailable.GivenNintegersA1
FZHvampire
·
2016-01-12 21:24
FFT
分块
【bzoj3514】
Codechef
MARCH14 GERALD07加强版 link cut tree+主席树
也是比较久的一个坑了。首先考虑一下联通块个数=总点数-有贡献的边数,即没有形成环的边数。那么采用一种数据结构题非常经典的做法了,pre[i]表示边i加入后应该弹出哪条边。如果支持离线的话,按l排个序,想bzoj1878一样,每次跳就可以了。强制在线,每次询问[l,r]中pre[i]在[0,l-1]中的边数,这个问题用主席树解决。时限卡得好紧#include #include #include #i
u012288458
·
2016-01-05 08:00
【
codechef
】s=abs(这部分数-剩下的数),求所有选取方式的s之和
https://www.
codechef
.com/KOL15MOS/problems/KOL1502 印度的区域赛,很遗憾赛后不能提交了。。。原本一直找不到正确的AC打开方式,实在也算道脑洞题吧。
cacyth
·
2015-12-28 20:00
【
codechef
】Ancient Berland Roads(线段树)
题目描述在古老的宝兰国有N座城市和M条双向道路。随着时间的流逝,一些道路渐渐变得破旧,最后因为损坏而无法使用,而从来没有人维修这些道路。作为古宝兰国历史的热爱者,你想要做一个小小的研究。为此,你想要写一个程序来处理以下的操作:•DK,代表输入中的第K条道路损坏了。道路从1开始编号;•PAB,代表编号为A的城市的人口数变为了B。我们称一些城市构成的集合为一个区域,当且仅当对于集合中的任意两座城市,都
cacyth
·
2015-12-27 17:00
【
codechef
】Computer Network(脑洞题)
题目描述你的一门课的大作业要求你为学校机房设计一个计算机网络。机房一共有N台计算机,而你一共需要建设M条链接,每条链接连接两台计算机。同时,网络还需要满足三个条件。第一个条件是,网络中的每两台计算机都必须直接或者间接地相连。可能会有人恶意攻击这个网络,因此第二个条件是,如果网络中任意一台机器因为一些原因而无法连接(即断开了与其他所有计算机的链接),剩余的计算机也应当能两两互连。换言之,对于网络中计
ccyy-
·
2015-12-27 16:10
困难
【
codechef
】Computer Network(脑洞题)
题目描述你的一门课的大作业要求你为学校机房设计一个计算机网络。机房一共有N台计算机,而你一共需要建设M条链接,每条链接连接两台计算机。同时,网络还需要满足三个条件。第一个条件是,网络中的每两台计算机都必须直接或者间接地相连。可能会有人恶意攻击这个网络,因此第二个条件是,如果网络中任意一台机器因为一些原因而无法连接(即断开了与其他所有计算机的链接),剩余的计算机也应当能两两互连。换言之,对于网络中计
cacyth
·
2015-12-27 16:00
Codechef
CHEFPRES—LCA
CHEFPRES所谓一眼题,但是通过这道题学了c++的vector...只想表示学语言什么的看别人代码最快了。。不想啃书#include #include #include #include #include #include usingnamespacestd; #defineMAXN100010 #defineMAXK110 vectora[MAXK]; structnode{ inty,ne
zz_ylolita
·
2015-12-23 00:00
vector
LCA
【
codechef
】n个数,多少种取法的异或值==m【二项式定理】
由于比赛还没结束所以先不放题目了。。。(转化题意:n个数,多少种取法的异或值==m)这道dp要写得非常小心,考虑全面。第一发超时,原因是n=10^5,所以复杂度1024000,但是又想到所有数字都不超过1023,所以直接求每个数出现的次数就好。。但是——这样转化之后,考虑细心的地方就超多了!二项式定理(1)Cn0+Cn2+Cn4+……+Cnn=2^(n-1)(n为偶数)(2)Cn1+Cn3+Cn5
cacyth
·
2015-12-09 15:00
在流程图中求支配点的一种快速算法+[
CodeChef
FEB14]Graph Challenge解题报告(求半支配点)
0.说明本文译自Tarjan的论文:https://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/a%20fast%20algorithm%20for%20finding.pdf选取了其中的一部分,有删改,以原文为准。1.简介在学习全局流分析和程序优化时,如下图论问题自然地浮现出来。设G(V,E,r)是一张流程图(本文中可以简
tham_
·
2015-12-03 15:00
code
图论
chef
流程图中求支配点
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他