摘要: Gym - 101102K hdu1506 单调栈 Gym - 100956D hdu5875 单调栈做法貌似是错的,正解应该是线段树,先不写了 hdu5033 单调栈 凸壳 hdu2082 母函数 hdu1028 母函数 hdu1521 指数型母函数 URAL - 2109 2017-1-18 t阅读全文
posted @ 2017-01-15 17:02 AutSky_JadeK 阅读(101) 评论(0) 编辑
摘要: 题意:交互题,有一个长度为n(偶数)的二进制串,你需要猜不超过n+500次猜到它。如果你猜的串与原串相同的位数为n,那么会返回n,如果为n/2,那么会返回n/2,否则都会返回零。 先random,直到出现一个n/2为止,将此串视为a串。由于正态分布,肯定能在500次内查到。 然后枚举a的所有相邻元素阅读全文
posted @ 2017-10-18 19:30 AutSky_JadeK 阅读(1) 评论(0) 编辑
摘要: 题意:河里有n块石头,一只青蛙要从左岸跳到右岸,你可以再在任意一个位置放一块石头,使得在最优方案下,青蛙单步跳的距离的最大值最小化,输出该位置。 将原图视作完全图,二分答案mid,然后在图中只保留小于等于mid的边,分别用dfs处理左岸能到哪些石头,右岸能到哪些石头。然后二重循环枚举两侧这些点对,如阅读全文
posted @ 2017-10-18 19:24 AutSky_JadeK 阅读(1) 评论(0) 编辑
摘要: 题意:给你一个n*n的矩阵,初始时,(x,y)的值为x+y。可能有两类操作,一类是对某一行求和,并将这一行置零;另一类是对某一列求和,并将这一列置零。 维护四个值:一个是列标号之和,一个是当前存在的列数,一个是行标号之和,另一个是当前存在的行数。 询问某一行的时候,只需要输出列标号之和+该行行号*当阅读全文
posted @ 2017-10-18 19:20 AutSky_JadeK 阅读(2) 评论(0) 编辑
摘要: 题意:有一个技能学习表,是一个DAG,要想正常学习到技能x,要将指向x的技能全部先学到,然后会有一个正常花费cx。然后你还有一种方案,通过氪金dx直接获得技能x。你还可以通过一定的代价,切断一条边。问你学得指定的技能N的最小代价。 源点向每个点连接代价为cx的边,每个点拆点,内部连接代价为dx的边,阅读全文
posted @ 2017-10-18 16:42 AutSky_JadeK 阅读(0) 评论(0) 编辑
摘要: 题意:给你两个只由1~6组成的串,问你B串至少要经过几次操作变成A串。 一次操作要么选择一个种类的数,将其全部变成另一种类;要么选择一个数,将其变为另一个数。 可以证明,一定先进行一定数量的第一种操作,然后再进行一定数量的第二种操作。 所以可以BFS预处理序列每种数要变成哪种数所需要的代价。初始状态阅读全文
posted @ 2017-10-18 16:37 AutSky_JadeK 阅读(0) 评论(0) 编辑
摘要: 题意:每个队伍有个赔率pi,如果你往他身上押x元,它赢了,那么你得到x+(1/pi)x元,否则你一分都得不到。问你最多选几支队伍去押,使得存在一种押的方案,不论你押的那几支队伍谁赢,你都能赚得到钱。 设你往第i支队伍上押ai元,不选的视作零元。 首先可以证明,不论你持有多少钱,不影响最后是否有解;是阅读全文
posted @ 2017-10-14 17:35 AutSky_JadeK 阅读(0) 评论(0) 编辑
摘要: 题意:维护一个动态并查集,支持加边,删边,维护两点连通性。 主要用到了 lct 的 Access FindRoot ChangeRoot link cut 操作。阅读全文
posted @ 2017-10-10 22:52 AutSky_JadeK 阅读(4) 评论(0) 编辑
摘要: 题意:给你一棵树,点带权,支持三种操作:单点修改;询问链上和;询问链上max。 这里的Query操作用了与上一题不太一样的做法(上一题用那种做法,因为在边带权的情况下换根太困难啦): 先ChangeRoot(U),然后Access(V),再Splay(V),询问V在辅助树中的左子树。 因为Splay阅读全文
posted @ 2017-10-10 21:04 AutSky_JadeK 阅读(9) 评论(0) 编辑
摘要: 题意:给你一棵树,边带权,支持两种操作:修改某条边的权值;查询两点之间的最短路。 lct主要实现单点修改和路径和。 修改x结点的值只需将x Splay到其所在辅助树的根,然后修改其值,再maintain一下即可。 路径和询问要这样做: 我们先 ACCESS(u), 然后在 ACCESS(v) 的过程阅读全文
posted @ 2017-10-08 21:32 AutSky_JadeK 阅读(5) 评论(0) 编辑
摘要: lct板子,此题主要有cut操作和link操作。阅读全文
posted @ 2017-10-08 19:40 AutSky_JadeK 阅读(6) 评论(0) 编辑
摘要: 题意:n个数,m次询问,每次给你一个询问v,l,r,问你v%a[l]%a[l+1]%...%a[r]是多少。 a%b,结果要么不变,要么至少缩小到a的一半,于是用线段树,每次询问当前区间最靠左侧的小于等于当前数的值是多少,只需不超过log次询问就能使该数模完,就行了。 O(n(logn)^2)。阅读全文
posted @ 2017-10-07 15:36 AutSky_JadeK 阅读(2) 评论(0) 编辑
摘要: 题意:一个邮递员从数轴上原点出发,每次最多带K封信,往n个地方送信,每个地方有一定的需求的信件数,问你最少要跑的距离的总和是多少?一趟可以给多个地方去送。 显然优先往远的地方送比较优越,近的地方可以顺路给他带过去。 原点两侧是独立的,可以分别处理。阅读全文
posted @ 2017-10-07 15:32 AutSky_JadeK 阅读(2) 评论(0) 编辑
摘要: 题意:方格内有些位置是水域,有些位置是陆地,有些位置是被云彩遮挡住了;让你自己规定被云彩遮挡住的地方是陆地还是水域,使得陆地个数最多。(均为四连通块) 显然与陆地邻接的云彩填成水比较优。其他云彩格子填陆地只填大小为1的即可。 然后剩下的云彩黑白染色,S往黑色连1的边,白色往T连1的边,黑色往与其邻接阅读全文
posted @ 2017-10-07 15:29 AutSky_JadeK 阅读(1) 评论(0) 编辑
摘要: 题意:平面上l盏灯,每盏灯可以照亮横向的2*r+1个格子或者纵向的2*r+1个格子,让你确定每盏灯的方向,使得每个格子只被同一行的不超过一盏灯照亮,并且只被同一列的不超过一盏灯照亮。输出是否有解。 显然的2-sat模型。阅读全文
posted @ 2017-10-07 15:24 AutSky_JadeK 阅读(3) 评论(0) 编辑
摘要: 题意:一个字符串被定义为“alphabetical”,当且仅当它能够删除一些字符,变成“ab...yz”,给你一个只由小写字母组成的字符串,问你最少插入几个字母,使它变成“alphabetical”的。 f(i,j)表示前i个字母,以j为结尾时,最少要插入几个字母。 f(i,j)=min{f(i-1阅读全文
posted @ 2017-10-07 15:21 AutSky_JadeK 阅读(3) 评论(0) 编辑
摘要: 题意: 维护一个数据结构,支持三种操作: ①在平面上(x,y)处添加一个颜色为c的点。 ②询问平面上(1,y1)-(x,y2)范围内,有多少种不同颜色的点。 ③清除平面上所有点。 颜色数量很少,对于每种颜色分别建立线段树,然后用线段树维护y坐标,对每个y坐标只存下来x坐标最小的点的x坐标,然后每次询阅读全文
posted @ 2017-10-07 00:31 AutSky_JadeK 阅读(2) 评论(0) 编辑
摘要: 动态开结点线段树板子。阅读全文
posted @ 2017-10-07 00:27 AutSky_JadeK 阅读(5) 评论(0) 编辑
摘要: 题意:给你一张有向图,求从1出发,回到1的欧拉回路数量。 先特判掉欧拉回路不存在时的情况。 看这个吧:http://blog.csdn.net/yuanjunlai141/article/details/76691680。 这是求有向图(以某个点为根的)生成外向树的方法。阅读全文
posted @ 2017-10-06 01:12 AutSky_JadeK 阅读(6) 评论(0) 编辑
摘要: 题意:求一个图的最小生成树个数。 矩阵树定理:一张无向图的生成树个数 = (度数矩阵 - 邻接矩阵)的任意一个n-1主子式的值。 度数矩阵除了对角线上D[i][i]为i的度数(不计自环)外,其他位置是0。 邻接矩阵G[i][j]的值为i与j之间的边数(重边要记入)。 一个定理:一个图的所有MST中,阅读全文
posted @ 2017-10-06 01:05 AutSky_JadeK 阅读(4) 评论(0) 编辑
摘要: 高斯消元求行列式板子。阅读全文
posted @ 2017-10-05 01:31 AutSky_JadeK 阅读(6) 评论(0) 编辑
摘要: 高斯消元求矩阵秩板子。阅读全文
posted @ 2017-10-05 01:30 AutSky_JadeK 阅读(3) 评论(0) 编辑
摘要: 高斯消元求逆矩阵板子。阅读全文
posted @ 2017-10-05 01:29 AutSky_JadeK 阅读(7) 评论(0) 编辑
摘要: 题意:给你一个n个点的凸包,让你切一刀,使得它变成一个m边形和一个K边形,问你切的这一刀最短是多少。 如果m+K==n+4,那么一定切在两条边上,但是由于两个线段间的最短距离,至少会经过一条线段的一个端点,于是可以枚举其中一条边,然后算出另一条边,然后枚举4个端点到对面线段的距离,取最小值即可。 如阅读全文
posted @ 2017-10-04 16:40 AutSky_JadeK 阅读(2) 评论(0) 编辑
摘要: 题意:有n片药,有三种颜色,白色比红色重,红色比蓝色重,给你一些它们之间的重量关系,比如1>3,2=4之类,问你它们的颜色,如果没法判断的输出?。 先并查集把等于号全缩起来,然后按照大于号建图,就是一张DAG,枚举所有的点,发现它如果是一个长度为3的链的中间结点,那么它、它指向的、指向它的颜色都可以阅读全文
posted @ 2017-10-04 16:36 AutSky_JadeK 阅读(2) 评论(0) 编辑
摘要: 题意:有n条鱼,煎一条鱼的一面要一分钟,锅只能同时煎K条鱼,问最少时间是? 想想小时候那个脑筋急转弯,3条鱼只需2分钟。可以大胆猜测,n条鱼,只需ceil(n*2/K)分钟,即一定能非常高效地煎完,每一时刻锅里都是满的。有个需要特判的地方:n如果小于K/2,也需要至少2min,不要输出成1了。阅读全文
posted @ 2017-10-04 16:32 AutSky_JadeK 阅读(2) 评论(0) 编辑
摘要: 题意:给你一个经典的汉诺塔递归程序,问你最少几步使得三个柱子上的盘子数量相同。(保证最开始盘子数量可以被3整除) 规律:ans(n)=2^(2*n/3-1)+t(n/3)。 t(1)=0. t(n)= t(n-1)+1,n为偶数 t(n-1)*4+2,n为奇数。 Java文件读写主要有以下两种方法,阅读全文
posted @ 2017-10-04 16:28 AutSky_JadeK 阅读(4) 评论(0) 编辑
摘要: 题意:让你构造一个n个点的简单多边形,使得所有点是整点,并且所有边长是整数,并且没有边平行于坐标轴。 就利用勾股数,如下图这样构造即可,n为偶数时,只需矩形拼成,n为奇数时,封上虚线边即可。阅读全文
posted @ 2017-10-02 01:08 AutSky_JadeK 阅读(15) 评论(0) 编辑
摘要: 题意:有n群人,每个人有喜欢的汉堡配方;有m家店,给出每家店的每个汉堡的配方,如果存在某个汉堡,其配料表包含某个人喜欢的配方,则这个人喜欢这个汉堡所在的店家。问你对每群人,输出被喜欢的人数最多的店面是哪家。 直接把每家店所能满足的口味表全塞到哈希表里面,暴力枚举统计即可。 这里用了双关键字哈希表,比阅读全文
posted @ 2017-10-01 20:32 AutSky_JadeK 阅读(8) 评论(0) 编辑
摘要: 题意:有n杯盐溶液,给定每杯里面盐的质量以及盐溶液的质量。问你有多少种方案选择一个子集,使得集合里面的盐溶液倒到一个被子里面以后,浓度为A/B。 折半枚举,暴力搜索分界线一侧的答案数,跨越分界线的答案,一侧用map存下来,枚举另一侧去统计。阅读全文
posted @ 2017-10-01 20:20 AutSky_JadeK 阅读(8) 评论(0) 编辑
摘要: 题意:给你一个序列,长度不超过52,每个元素不超过13。让你重新对这个序列排序,sum(i)表示i的前缀和,使得排序过后,对每个i,都有sum(i)%i==0。 深搜,加两个优化:①倒着从后向前搜;②枚举的时候不要枚举52个,而枚举值域(只有13),能快一点。 另外,一开始想的是相同的元素在最后一定阅读全文
posted @ 2017-09-29 18:31 AutSky_JadeK 阅读(10) 评论(0) 编辑
摘要: 题意:给你一个凸多边形,和多次询问,每次询问给你一条直线,问你这条直线与凸包上的顶点的最近距离是多少。 记当前询问的直线的斜率为K, 先找到与这条直线距离最远的两个点: 就把凸包所有的边当做有向直线进行排序,那么距离最远的两个点一定是斜率最接近+K和-K的,可以通过二分求得。 然后这两个点把凸包分成阅读全文
posted @ 2017-09-29 16:36 AutSky_JadeK 阅读(15) 评论(0) 编辑
摘要: 题意:给你一个序列,支持两种操作:单点修改;询问一个区间中所有相邻位置下标奇偶性均不同的子序列中,和最大的是多少。 线段树每个结点维护四个值: 以奇数下标开始到奇数下标结束的最大子序列和; 以偶数下标开始到偶数下标结束的最大子序列和; 以奇数下标开始到偶数下标结束的最大子序列和; 以偶数下标开始到奇阅读全文
posted @ 2017-09-29 16:28 AutSky_JadeK 阅读(7) 评论(0) 编辑
摘要: 题意:给你一个串,让你从左到右构造这个串,一次操作可以直接在当前串后面添加一个任意字符,或者拷贝当前串的任意一个子串到当前串的后面。问你最少要多少次操作才能构造出这个串。 从前向后贪心,从当前已构造的串的后面开始,尽量往后走,尝试在后缀自动机上转移,直到不能转移为止,便求出了后面的串的在当前串中能找阅读全文
posted @ 2017-09-29 16:24 AutSky_JadeK 阅读(12) 评论(0) 编辑
摘要: 来源:http://www.cnblogs.com/haolujun/archive/2012/11/11/2765102.html 假如现在让你随机生成k个范围在1-n内的随机数,那么你能得到多少个不同的随机数呢?刚开始想得时候,我认为当k<=n时,可以得到k个不同的随机数,但是显然这个想法错了。阅读全文
posted @ 2017-09-28 18:42 AutSky_JadeK 阅读(12) 评论(0) 编辑
摘要: 题意:给你一张简单无向图(但可能不连通),再给你一个K,让你求解任意一个问题:K染色或者输出一条K长路径。 直接贪心染色,对一个点染上其相邻的点的颜色集合之中,未出现过的最小的颜色。 如果染成就染成了。如果到某个点,发现染不成,则倒着按照颜色从大到小回去,则一定恰好可以找出一条K长度的路径。阅读全文
posted @ 2017-09-28 18:41 AutSky_JadeK 阅读(6) 评论(0) 编辑
摘要: 题意:有n个土豆,每个有体积V(i),你可以将每个土豆等分为不超过K份,问你最大块和最小块比值最小为多少。 直接枚举切法,只有n*K种,然后保证其为最大块,去算其他块的切法,即让其他块切得尽可能大即可。O(n*n*K)。阅读全文
posted @ 2017-09-28 18:37 AutSky_JadeK 阅读(7) 评论(0) 编辑
摘要: 题意: 给你一个n,问你R(n)对应的字符串长度最小的是啥。 dp打个表出来,f(i)表示i值对应的字符串的最小长度,发现f(1)=1,f(2)=2,其他的情况下,若是偶数,则恰好在其外面加一对中括号,然后中间填i/2最优,若是奇数,恰好在i-1前面加个1最优。 于是递归输出答案即可。阅读全文
posted @ 2017-09-28 18:33 AutSky_JadeK 阅读(9) 评论(0) 编辑
摘要: 题意:给你一个长度为n的数组,每个元素都在1~n之间,要你改变最少的元素,使得它变成一个1~n的排列。在保证改动最少的基础上,要求字典序最小。 预处理cnt数组,cnt[i]代表i在原序列中出现的次数。b数组,代表没有出现过的数是哪些。b数组的长度就是答案。 b数组是从小到大排好的,然后for循环b阅读全文
posted @ 2017-09-26 13:16 AutSky_JadeK 阅读(7) 评论(0) 编辑
摘要: 题意:给你三个半径相同的圆,它们切在一起,然后让你往缝里一个一个地塞圆,问你塞到第k个的半径是多少。 就把上面那两个圆的切点当成反演中心,然后会反演成这个样子,两个平行直线和一个圆。 然后就是往那个圆上面再塞圆,然后反演回去算面积就行了。阅读全文
posted @ 2017-09-24 18:52 AutSky_JadeK 阅读(14) 评论(0) 编辑
摘要: 题意:平面上n个点,问你是否存在一种黑白染色方案,使得对于该方案,无法使用一条直线使得黑色点划分在直线一侧,白色点划分在另一侧。如果存在,输出一种方案。 如果n<=2,显然不存在。 如果所有点共线,且n>2,只需交替染色即可。 设凸包上的点数为K,如果K==n,且n==3,不存在,如果n>3,只需交阅读全文
posted @ 2017-09-23 23:13 AutSky_JadeK 阅读(7) 评论(0) 编辑
TVアニメ「Charlotte(シャーロット)」公式サイト TVアニメ「Charlotte(シャーロット)」公式サイト