07 2019 档案

摘要:题意: 给你一个数字拼图,问你数字拼图能否能复原成原来的样子。 题解: 数字拼图的性质是,逆序数奇偶相同时,可以互相转化,逆序数奇偶不同,不能互相转化。 因此统计逆序对即可。 阅读全文
posted @ 2019-07-31 23:19 Isakovsky 阅读(306) 评论(0) 推荐(0) 编辑
摘要:题意: 一个完全图,某两点边权为这两点编号之按位与,求最小生成树,输出字典序最小的。 题解: 如果点数不为2n1,则每一点均可找到一点,两点之间边权为0,只需找到该点二进制下其最左边的0是第几位,与此位为1,其他位都为0的点相连,此边边权为0。 否则,第2n1点以此法找到的最小点是$ 阅读全文
posted @ 2019-07-31 23:15 Isakovsky 阅读(241) 评论(0) 推荐(0) 编辑
摘要:题意: 给定一组数,共n个,第i次把第i个数扔进来,要求你删掉前i-1个数中的一些(不许删掉刚加进来这个数),使得前i个数相加的和小于m。问你对于每个i,最少需要删掉几个数字。 题解: 肯定是优先删大数,一开始想的方法类似于尺取,就是维护一个大顶堆作为现有的数,小顶堆作为要删的数,每次大顶堆的元素总 阅读全文
posted @ 2019-07-30 23:10 Isakovsky 阅读(270) 评论(1) 推荐(0) 编辑
摘要:题意: 给你一个1e9-1e14的质数P,让你找出这个质数的前一个质数Q,然后计算Q!mod P 题解: 1e14的数据范围pass掉一切素数筛法,考虑Miller-Rabin算法。 米勒拉宾算法是一种判断素数的随机化算法,由于其随机性,它不能保证总是正确的,但其对于一个素数,总会返回素数的结果,对 阅读全文
posted @ 2019-07-30 15:19 Isakovsky 阅读(191) 评论(0) 推荐(0) 编辑
摘要:回文自动机模板题 头铁了一下午hdu6599,最后发现自己的板有问题 先放这里一个正确性得到基本确认的板,过两天肝hdu6599 阅读全文
posted @ 2019-07-28 23:33 Isakovsky 阅读(207) 评论(0) 推荐(0) 编辑
摘要:因为manacher算法把原来的字符串扩大了两倍,因此在应用时许多二级结论都非常不直观,现场推出来很麻烦,因此笔者在此做个简单整理,如果发现有错误或者有常用的我没有涉及到的,恳请在下方评论区指出,我会非常感谢。 1,rad数组虽然指的是回文半径,但是它的值减一和回文子串长度对应 因此,最长回文子串长 阅读全文
posted @ 2019-07-28 16:04 Isakovsky 阅读(171) 评论(0) 推荐(0) 编辑
摘要:题意: 找出这样的回文子串的个数:它本身是一个回文串,它的前一半也是一个回文串 输出格式要求输出l个数字,分别代表长度为1~l的这样的回文串的个数 题解: (回文自动机和回文树是一个东西) 首先用回文自动机求出所有本质不同的字符串,以及它们出现的次数,把前半部分的字符串和后半部分的字符串分别hash 阅读全文
posted @ 2019-07-28 15:04 Isakovsky 阅读(133) 评论(0) 推荐(0) 编辑
摘要:标准库中常用的需要定义比较函数的工具: sort 排序 priority_queue 优先队列(或称堆) lower_bound upper_bound 二分查找 nth_element 找数组第n大 set 集合 map 映射表 常用的定义比较函数的方法: 对于普通的数据类型,如int,doubl 阅读全文
posted @ 2019-07-28 12:19 Isakovsky 阅读(828) 评论(1) 推荐(1) 编辑
摘要:这个回文自动机的板有问题,它虽然能过这道题,但是在计算size的时候会出锅! 题意: 求一个字符串中本质不同的连续子串有几个,但是某串和它反转后的字符串算一个。 题解: 要注意的是,一般字符串题中的“反转”,往往和回文串挂钩,反之亦然。 赛时最后半小时码的这道题,和队友很快发现了可以把字符串构造成s 阅读全文
posted @ 2019-07-28 00:01 Isakovsky 阅读(314) 评论(0) 推荐(0) 编辑
摘要:题意: 求最短路,但是你有k次机会可以把路径中某条边的长度变为0. 题解: 跑k+1次迪杰斯特拉,设想有k+1组dis数组和优先队列,第k组就意味着删去k条边的情况,每次松弛操作,松弛的两点i,j和距离l(i,j),不仅更新本组的dis数组令dis[j]=dis[i]+l[i,j],还更新下一组,令 阅读全文
posted @ 2019-07-27 23:52 Isakovsky 阅读(149) 评论(0) 推荐(0) 编辑
摘要:题意: 有一棵树,树上有许多人,他们要聚会,找一个点使得所有人到这个点的距离的最大值最小。 题解: 首先,以一个有人的点为根,求一个生成树,删掉所有没有人的子树,保证所有的悬挂点(只连接一条边的点)都是有人的节点,以保证后面求出的直径的两端是两个有人节点。为什么非得以有人的节点为根呢?因为如果找了一 阅读全文
posted @ 2019-07-27 23:44 Isakovsky 阅读(283) 评论(0) 推荐(0) 编辑
摘要:题意: 一个军队有n人,你可以给他们每个人安排战士或者法师的职业,有m对人有组合技,组合技的信息是a,b,c,代表如果这两个人是两个战士,则组合技威力为a,一个战士一个法师,威力为b,其中b=a/4+c/3,两个法师,威力为c,求最大的威力。 题解: 这道题给出了一个最小割的清奇思路。 首先不去想边 阅读全文
posted @ 2019-07-26 11:01 Isakovsky 阅读(260) 评论(0) 推荐(0) 编辑
摘要:题意: 给定一个数列,每次询问一个区间,问这个区间中的值可组成的周长最大的三角形的周长。 题解: 定理1:给定一些值,这些值中组成边长最大的三角形的三条边的大小排名一定是连续的。 证明:假如第k大,第k+1大,第k+2+b(b>0)大的三条边组成了一个边长最大的三角形,那么较小的两条边加起来长度大于 阅读全文
posted @ 2019-07-26 10:06 Isakovsky 阅读(191) 评论(0) 推荐(0) 编辑
摘要:题意: 给你一个数x,允许你多次询问yi,然后回答你x xor yi 是否等于yi,询问尽量少的次数以保证能求出xi是几,求出这样询问次数最少的询问方案数。 结果mod1e6+3 题解: 队友赛时很快想(cai)出最优方案是每次只让yi的一位是1,因此最优方案数是n! 然后很快wa/t到哭 粘了个几 阅读全文
posted @ 2019-07-26 08:31 Isakovsky 阅读(361) 评论(0) 推荐(0) 编辑
摘要:题意: 给定一个N,随机从[1,N]里产生一个n,然后随机产生一个n个数的全排列,求出n的逆序数对的数量,加到cnt里,然后随机地取出这个全排列中的一个非连续子序列(注意这个子序列可以是原序列),再求出这个子序列的逆序数对,加到cnt里,重复这个过程,直到最后取出的为空。 题解: 先不考虑第一步随机 阅读全文
posted @ 2019-07-25 22:32 Isakovsky 阅读(851) 评论(1) 推荐(0) 编辑
摘要:题意: 给定一组(x1,x2,y),其中y为1或0,问是否有一组(w1,w2,b),使得上述的每一个(x1,x2,y)都满足x1*w1+x2*w2+b在y=1时大于0,在y=-1时小于0. 题解: 赛时想的是半平面交,wa到哭 后来看题解,居然那么简单? 我们把x1,x2看成两个坐标轴,那么其实(w 阅读全文
posted @ 2019-07-25 22:16 Isakovsky 阅读(239) 评论(0) 推荐(0) 编辑
摘要:题意: 有一个n*m的矩阵,左右可以随便走,但只能在每一行的中点往下走,每走一格花费时间1. 现在这个矩阵里放了k瓶牛奶,第i个牛奶喝下去需要ti时间 起点是(1,1) 对于每个i∈[1,k],问喝掉k瓶牛奶花费的最小时间 题解: 首先离散化行。 记第 i 行的牛奶数为 ci,则对于第 i 行,求出 阅读全文
posted @ 2019-07-25 21:42 Isakovsky 阅读(675) 评论(2) 推荐(0) 编辑
摘要:题意: 有个打字机,在当前字符串后新加一个字花费p,把当前字符串的一个连续子串拷贝到当前字符串的末尾花费q,给定一个字符串,求用打字机打出这个字符串的最小花费。 题解: 容易想到用dp 记dp[i]为打出前i个字符的最小花费,对于每个i,令 A=dp[i-1]+p B=dp[j]+q 其中j为最小的 阅读全文
posted @ 2019-07-25 19:33 Isakovsky 阅读(338) 评论(0) 推荐(0) 编辑
摘要:题意: 在无向图上删边,让此图上从起点到终点的最短路长度变大,删边的代价是边长,求最小代价。 题解: 先跑一遍迪杰斯特拉,求出所有点的d[]值,然后在原图上保留所有的边(i,j)仅当i,j满足d[j]-d[i]=l(i,j),在这个图上跑最小割。 时间复杂度O((E)logV+V^2*E) 阅读全文
posted @ 2019-07-25 18:35 Isakovsky 阅读(250) 评论(0) 推荐(0) 编辑
摘要:题意:有n+1辆车,每辆车都有一定的长度,速度和距离终点的距离,第1-n辆车在前面依次排列,第0辆车在最后面。不允许超车,一旦后车追上前车,后车就减速,求第0辆车最快什么时候能到达终点? 思路:对于每一辆车,假想它被后面的所有车追上,连成一个长串,这一长串以该车的速度行驶,这一长串的尾巴通过终点的时 阅读全文
posted @ 2019-07-25 18:24 Isakovsky 阅读(187) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示