gdoi
文章平均质量分 57
ThreePoundGold
这个作者很懒,什么都没留下…
展开
-
排序机械臂 <Splay>
ML:512M TL:2000msDescribeInput第一行包含正整数n,表示需要排序的物品数量。第二行包含n个空格分隔的整数ai,表示每个物品的高度。Output输出一行包含n个空格分隔的整数pi。Sample Input输入1:63 4 5 1 6 2输入2:原创 2015-01-03 00:12:38 · 402 阅读 · 0 评论 -
Screensaver<用线段树维护函数系数>
你最近安装了一个新的屏幕保护程序,如果你离开键盘5 分钟,屏保将会显示一个有热带鱼的水族馆,水族馆的底端是由沙石形成的供鱼玩耍的地方,沙石的高度可以设置,水位也可以设置。水族馆可以看做是一个二维平面,宽看作N-1 列,最左端的横坐标为0,最右端横坐标为N-1,每个整数横坐标都对应着一个沙石的高度H_i(0<=i<=N-1),相邻横坐标i 和i+1 之间的沙石可以看做是由(i,H_i)和(i+1,H_原创 2015-08-30 09:47:22 · 352 阅读 · 0 评论 -
SelectToy(容斥)
ABC找到N个箱子,箱子里装着一些玩具,一共有M种玩具,编号从1到M,同一种玩具可能出现在多个箱子里。ABC决定从中选择一些箱子,把这些箱子中的玩具聚集到一起,必须保证每种玩具至少出现一次。问ABC一共有多少种选择方案。Input第一行输入两个整数N和M(1<=N<=1,000,000,1<=M<=20)接下来N行,每行首先输入Ki(0<=ki<=M),接下来输入Ki个1到M之间互不相同的数,表示玩原创 2015-08-30 10:10:06 · 468 阅读 · 0 评论 -
JSOI2013编程作业
大致问题是给你两个串,S与T,要求求S有多少子串与T匹配。匹配定义为两个串大写字母位置及内容一模一样,小写字母是可替换的。详见样例Input3 //数据组数AiBjCiDECjDiFGCAaBiCaDECiDaFGCcDEcDEbDEaDEbDEccddefaabOutput112这题可以用Hash解决 对于小写字母,我们记录一个小写字母与上一个和它相同的小写字母的距离la[],和下一个与他相原创 2015-08-28 23:53:56 · 451 阅读 · 0 评论 -
找数(线筛,容斥)
找出第N个最小素因子是P的正整数。Input一行两个整数N和P(1<=N,P<=10^9),保证P是素数。Output如果结果超过10^9则输出0否则输出这个数。一看到最小质因子就想到了线筛,每个数只会被其最小质因子筛去。并且只需要筛出p以内的质数。再用p以内的质数去筛,比p小的质数可以筛去不合法的,比p大的质数对我们来说毫无意义。 然而p十分小时,线筛是跑不出来的。 怎么办? 容斥,把p以内原创 2015-08-30 11:08:45 · 467 阅读 · 0 评论 -
模积和
Description求∑∑((n mod i)*(m mod j))其中1<=i<=n,1<=j<=m,i≠j。Input第一行两个数n,m。Output一个整数表示答案mod 19940417的值Sample Input3 4Sample Output1Data ConstraintHint【样例解释】答案为(3 mod 1)(4 mod 2)+(3 mod 1) (4 mod 3)+(3 m原创 2015-08-04 22:29:03 · 673 阅读 · 0 评论 -
追捕盗贼
【COCI2007】追捕盗贼 (Standard IO) Time Limits: 3000 ms Memory Limits: 65536 KB Detailed Limits Description 为了帮助警察抓住在逃的罪犯,你发明了一个新的计算机系统。警察控制的区域有N个城市,城市之间有E条双向边连接,城市编号为1到N。 警察经常想在罪犯从一个城市逃亡另一个城市的过程中抓住他原创 2015-08-05 11:55:36 · 777 阅读 · 0 评论 -
长跑
n个点,m个事件 输入n个点的权值 输入m个事件 三个整数描述事件 P A B p==1 A 到B连一条双向边 p==2 A 点的权值改为B p==3 从A走到B,走过某条路,那条路便不可再次反向通过(可以正向),每次第一次到达某个点,获得该点权值。对于100%的数据, m<=5n,点权不超过10000。具体每组数据的规模如下 编号 n 编号 n 1 10 6 50000 2原创 2015-08-05 11:47:10 · 328 阅读 · 0 评论 -
第一字符串(Trie&&Topology)
Bessie最近在玩字符串。她发现通过改变字母的顺序可以使一些字符串排在其他所有的字符串之前(按字典序从小到大排序)。比如说,Bessie找到了对于字符串”omm”,”moo”,”mom”,和”ommnom”,她可以用标准的字母表把”mom”排在最前面,也可以用字母表”abcdefghijklonmpqrstuvwxyz”把”omm”排在最前面。但是,Bessie不能找出一个方案使”moo”或”om原创 2015-08-17 22:19:26 · 566 阅读 · 0 评论 -
TeleTable( Data Structure { Trie && SegmentTree} )
在幻想乡拨打不同的电话号码收费标准是完全不同的。博丽神社有一个古老的费用表,来确定拨打电话的花费。每一个幻想乡的电话号码由11 位数字组成。费用表共有N 行,每一行给出一个号码的前缀范围和对应收费标准的名称。对于给出的前缀,如4239-241 ,指所有的前缀为4239,4240,4241 的电话号码。要确定拨打每个号码的收费标准,需要从费用表的第一行开始依次向下查找,第一个匹配的号码前缀范围所对应的原创 2015-08-17 22:43:46 · 363 阅读 · 0 评论 -
回顾::做过的TRIE树题
【THUSC2015】异或问题 (Standard IO)Time Limits: 2000 ms Memory Limits: 262144 KB Detailed Limits Description给定长度为n的数列X={x1,x2,...,xn}和长度为m的数列Y={y1,y2,...,ym},令矩阵A中第i行第j列的值Aij=xi xor yj,每次询问给定矩原创 2015-07-24 23:35:13 · 738 阅读 · 0 评论 -
图
给你一个有向图,并指定起点为1和终点为2。问要从起点走向终点,再从终点走向起点,最少需要走过多少不同的节点。 考虑动归 在这种图上,要注意可以用spfa来转移 构出反图,原问题变成了正图从st到end,与反图st到end最少能经过几个城市。 令f[i][j] 为正图走到i,反图走到j的最小答案。 spfa每次正图走一步,反图走一步,松弛操作更新f。 但是这样是不够的,考虑到i,j如果交换了原创 2015-08-17 22:29:57 · 385 阅读 · 0 评论 -
送票
Mirko朋友的住所都可以用直角坐标系来表示。他在走路的时候,只能经过整数坐标点。他走一步可以移动到相邻的八个整数坐标点(上,下,左,右,上左,下左,上右,下右)。Mirko的每个朋友住在一些整数坐标点(x,y)上,而且愿意走一段距离去见Mirko。具体来说,Mirko可以在离他朋友家里不超过P步的地方见他的朋友,P取决于他朋友的慵懒程度。当他完成派送门票的事后,Mirko回想起了他见朋友的顺序。计原创 2015-08-17 22:35:06 · 367 阅读 · 0 评论 -
关于树的直径题
一棵树,删除一条边,添加一条边,在保证连通的前提下,使最长链最短o———o———o—–o—–o—-o Subtr1 Subtr2 …………..Subtrio代表树的直径的点。subtr指树的直径的点伸出的子树。 断掉的边一定是直径上的边。 枚举其断边,树分成两部分。怎么连边才能使新树最长路最短? 对于新树内所有链,其距离都小于新树直径。如果连的新边在两棵树的直径之间就可以减小最长路原创 2015-08-05 22:26:32 · 548 阅读 · 0 评论 -
物理( 线段树套单调队列 )
sg站在1号点,后面有他的n-1个小弟。现在妹子想告诉sg一些话,但是她不知道选谁。由于sg的小弟们构造奇特,他们能听到的声波频率也是不一样的。第i个人可以发出并接收声波频率为[xi,yi]的声音,并且每个人的声音最多只能传播不超过l的距离。每一次说话并被另一个人接收到的过程都要消耗1单位时间。现在给出所有人能发出并接收的声波频率的范围和位置,sg的妹子想知道,每个小弟传话给sg要多久。由于sg很牛原创 2015-08-19 22:36:02 · 362 阅读 · 0 评论 -
Jump
话说世界上有很多超级英雄:蝙蝠侠,蜘蛛侠,超人,名字都写不出来的人等等。在他们之中有一个叫Kickass。今天他想模仿蜘蛛侠,所以他选择了一排高楼来跳。具体来说,他选择了一列N幢高楼,从左到右标号为1到N。一开始他在第K幢高楼。不幸的是,Kickass能力非常有限,只能跳到向左或向右相邻的高楼,而且他要跳到的楼的高度必须不能大于他现在处在的楼的高度。Kickass不想自己看起来很渣渣,所以他在一些高原创 2015-08-30 10:17:25 · 1712 阅读 · 0 评论 -
文章标题
给定一棵N 个节点的树,标号从1~N。每个点有一个权值。要求维护两种操作:C i x(0<=x<2^31) 表示将i 点权值变为xQ i j x(0<=x<2^31) 表示询问i 到j 的路径上有多少个值为x 的节点N <= 100000显然要用链剖, 然而直接做貌似不行,由于询问的权值只涉及到与那个权值相关的点与操作,考虑每个权值独立做,对于操作1,可以看做是在原权值上删点,新权值加点。原创 2015-08-14 17:42:20 · 305 阅读 · 0 评论 -
生产汽车(单调队列+斜率优化)
生产一台汽车需要从1号工人开始,当1号完成他的工作后,2号就会开始工作,然后是3号,最后当N号工人完成他的工作后,整个汽车生产完毕。工人们一共需要生产M台汽车,而且必须按照从1到M的顺序去生产。对于工人i,他完成自己的工作需要Ti的时间,而对于汽车j,组装复杂度为Fj。那么工人i花在汽车j上的时间为Ti*Fj。当某个工人完成他的工作后,他会同时把汽车交给下一个工人,没有任何时间上的延迟,因此,要保证原创 2015-08-15 09:18:15 · 434 阅读 · 0 评论 -
两道数学题
3939.数值距离 、Time Limits: 1000 ms Memory Limits: 262144 KB Description我们可以对一个数进行两种操作,即把一个数乘上一个质数或者除以一个质 数。我们定义两个数 a,b 之间的距离为把 a 变成 b 需要执行的最少操作次数,例 如 d(69,42)=3,因为 42=69/23*2*7。我们给出原创 2015-01-02 23:13:48 · 430 阅读 · 0 评论 -
两道和Tarjan有关的图论题
重要道路 Time Limits: 1000 ms Memory Limits: 262144 KB Description给定一个无向图 G,对于其中的一条边(u,v),将它删除之后会使得从 1 到 n 的最短路长度增加,那么这条边被称为“重要道路”。求 G 中所有的重要道路。Input第一行两个整数 n,m,分别代表点数和边数。原创 2015-01-02 23:43:48 · 594 阅读 · 0 评论 -
树状数组套线段树 <Geometry><Discretize><Data_Struct>
Jabberwocky (Standard IO)Time Limits: 2000 ms Memory Limits: 1048576 KB Sample Input110 31 2 32 1 12 4 23 5 34 4 25 1 26 3 16 7 17 2 39 4 2Sample Outpu原创 2015-01-03 00:09:45 · 380 阅读 · 0 评论 -
不等式转不降序列题
n个节目,在数轴x[i]位置处,在t[i]时刻上演,持续一瞬间。某人每个单位时间内能移动v距离,问<1>从原点出发最多能看多少节目<2>从任意点出发最多能看节目数。要求O(nlogn)显然有f[i] = max( f[j] ) + 1 且 | Xj - Xi | <= ( t[i] - t[j] ) v 破除绝对值符号,原创 2015-08-07 22:22:07 · 291 阅读 · 0 评论 -
sqr(n)的约数个数
对于一个给定的正整数n ,有多少种本质不同的解满足方程x−1+y−1=n−1x^{-1}+y^{-1}=n^{-1}变式 : y=nxx−n\frac{nx}{x-n} 把分式变得更简洁以便分析 Denote sub = x - n y=n2sub\frac{n^2}{sub}+1 要想使y为正整数,sub必须是n2n^2的原创 2015-08-09 21:21:11 · 474 阅读 · 0 评论 -
矩阵乘裸题
【JSOI2013】美丽家园 Description 现在富裕的家庭都有了自己的别墅,别墅的院子往往大家选择铺上黑白两色的地砖。如何铺地砖是很有学问的,因为这涉及到美学方面的问题。怎样铺是美的呢?先看下面两组: Figure 1中的就被人们认定为比较美丽的,而Figure 2 中的铺法则是不美丽的了。因为人们认为,如果出现一块2*2的区域里,只有一种颜色,那这就是不美丽的,反之则是美丽的。原创 2015-08-09 21:53:03 · 486 阅读 · 0 评论 -
非整除序列
定义S(N)为最小的不能整除N 的正整数,接下再计算S(S(N))、S(S(S(N)))直到得到数字2。定义strength(N)为上述过程得到的序列长度。如N=6 时得到的序列为6,4,3,2,strength(6)=4。给定两个正整数A,B,A原创 2015-08-11 09:19:28 · 505 阅读 · 1 评论 -
查税( 斜率优化&单调队列维护凸包 &分块 )
id3167 有n个办公室,m个操作,依次读入 type 如果type为1 , 接着读入 T K Z S , 表示一个公司于T时刻进驻K办公室,每天盈利为Z,其一开始有S元。若K位置本有别的公司,别的公司会被覆盖。 如果type为2 , 接着读入T A B 表示于T时刻,你要找出区间[A,B]内,最有钱的公司的钱数。(关于钱的值都可以为负)原创 2015-08-11 09:55:08 · 582 阅读 · 0 评论 -
Problem<c>( Link-cut tree )
有一棵n个节点的树,每个节点有一个颜色,初始每个节点颜色不相同,且以节点1为根。定义每个点的权值为这个点到根的路径上不同颜色的个数。现在进行m次操作,每次操作为下列三种之一: 1、将x到当前根路径上的所有点染成一种新的颜色; 2、将x到当前根路径上的所有点染成一种新的颜色,并且把这个点设为新的根; 3、查询以x为根的子树中所有点权值的平均值。Input输入一共n+m行。 第一行两个数n,m。原创 2015-07-31 00:58:04 · 329 阅读 · 0 评论 -
贴瓷砖(AC_AUTOMAN)
A string S of N chars is given We were asked to use m strings to match . Each string can be used serval times .strings for matching can intersect with each other . The question is to find out how ma原创 2015-08-13 21:23:54 · 582 阅读 · 0 评论 -
棋盘游戏&&binaryA+B<Dp,Dfs_with_Mem>
Description一个n*n(n>=2)棋盘上有黑白棋子各一枚。游戏者A和B轮流移动棋子,A先走。A的移动规则:只能移动白棋子。可以往上下左右四个方向之一移动一格。B的移动规则:只能移动黑棋子。可以往上下左右四个方向之一移动一格或者两格。和通常的“吃子”规则一样,当某游戏者把自己的棋子移动到对方棋子所在的格子时,他就赢了。两个游戏者都很聪明,当可以获胜时会尽快获胜,只能输掉的时候会尽量拖延时间。原创 2015-08-29 00:19:47 · 508 阅读 · 0 评论 -
gangs
农场里的生活很艰苦,而且当生活很艰苦,你必须坚强起来。奶牛们形成了编号为1到M的帮派。这些帮派一开始和睦相处了一段时间,但是现在失控了!奶牛们在竞争一片大草地的控制权。奶牛之间的冲突发生在连续的若干分钟内。每一分钟有一只奶牛走进草地。如果此时草地上没有奶牛,那么这只新进去的奶牛所在的帮派就能占领这片草地。如果草地上已经被新进去的奶牛的帮派所占领了,那么这只奶牛就在草地里吃草。否则,一只属于正在占领草原创 2015-08-30 10:34:49 · 487 阅读 · 0 评论 -
NewNimGame(博弈)
传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同)。两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿。拿走最后一根火柴的游戏者胜利。本题的游戏稍微有些不同:在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿,但不可以全部拿走。第二回合也一样,第二个游戏者也有这样一次机会。从原创 2015-08-30 11:43:05 · 451 阅读 · 0 评论 -
【ZJOI2013】K 大数查询 ( 树状数组套线段树 )
Description有n 个位置和m 个操作。操作有两种,每次操作如果是1 a b c 的形式,表示往第a 个位置到第b 个位置每个位置加入一个数c。如果操作形如2 a b c 的形式,表示询问从第a 个位置到第b 个位置,第c 大的数是多少。Input在输入文件sequence.in 中,第一行两个数n,m。意义如题目描述。 接下来m 行每行形如1 a b c 或者2 a b c 如题目描述。原创 2015-08-20 20:50:16 · 413 阅读 · 0 评论