摘要: 题意: 给你长度最长为1000的字符串,这个字符串中最多有10种字母,每次给你两种字母,输出这两种字母在字符串中的相对位置,问你这个字符串原本是什么样子,如果不存在则输出-1 题解: 把整个字符串看作集合,每一个字符看作一个集合中的元素,字符串的前后关系看作偏序关系,作出这个集合的哈斯图,在哈斯图上 阅读全文
posted @ 2019-08-02 19:54 Isakovsky 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定两个由数字组成的序列s,t,找出s所有数值大于t的子序列。注意不是字典序大。 题解: 首先特判s比t短或一样长的情况。 当s比t长时,直接用组合数计算s不以0开头的,长度大于t的所有子序列数量。 然后再去看s的和t一样长的子序列。 就是在找s和t的公共子序列,并且一旦某一位s比t大了,就 阅读全文
posted @ 2019-08-02 18:43 Isakovsky 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定$x_0,x_1,a,b,n,mod, x_i=a*x_{i-1}+b*x_{i-2}$ ,求$x_n % mod$ n最大有1e6位 题解: 矩阵快速幂。 巨大的n并不是障碍,写一个十进制的矩阵快速幂就行了。 $ \begin{bmatrix}x_n \\ x_{n-1} \end{b 阅读全文
posted @ 2019-08-01 20:44 Isakovsky 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一个n,输出一个数,要求这个数所有位之和整除n,并且这个数也整除n,并且位数不许多于1e4 题解: 把这个数n输出n遍。 阅读全文
posted @ 2019-08-01 20:31 Isakovsky 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你重量分别为1到n的n个石头,让你分成重量相等,数量也相等的k组,保证k是n的约数。问你能不能分配,如果能,输出具体的分配方案。 题解: 首先,如果1到n之和不能整除k,那么一定不能如题意分配。 否则一定能。 设m=n/k。m是每组分到的石头块数。我们把n块石头排成这样m*k的矩阵,假设1 阅读全文
posted @ 2019-08-01 12:00 Isakovsky 阅读(568) 评论(0) 推荐(1) 编辑
摘要: 题意: 给你一个数字拼图,问你数字拼图能否能复原成原来的样子。 题解: 数字拼图的性质是,逆序数奇偶相同时,可以互相转化,逆序数奇偶不同,不能互相转化。 因此统计逆序对即可。 阅读全文
posted @ 2019-07-31 23:19 Isakovsky 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个完全图,某两点边权为这两点编号之按位与,求最小生成树,输出字典序最小的。 题解: 如果点数不为$2^n-1$,则每一点均可找到一点,两点之间边权为0,只需找到该点二进制下其最左边的0是第几位,与此位为1,其他位都为0的点相连,此边边权为0。 否则,第$2^n-1$点以此法找到的最小点是$ 阅读全文
posted @ 2019-07-31 23:15 Isakovsky 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一组数,共n个,第i次把第i个数扔进来,要求你删掉前i-1个数中的一些(不许删掉刚加进来这个数),使得前i个数相加的和小于m。问你对于每个i,最少需要删掉几个数字。 题解: 肯定是优先删大数,一开始想的方法类似于尺取,就是维护一个大顶堆作为现有的数,小顶堆作为要删的数,每次大顶堆的元素总 阅读全文
posted @ 2019-07-30 23:10 Isakovsky 阅读(267) 评论(1) 推荐(0) 编辑
摘要: 题意: 给你一个1e9-1e14的质数P,让你找出这个质数的前一个质数Q,然后计算Q!mod P 题解: 1e14的数据范围pass掉一切素数筛法,考虑Miller-Rabin算法。 米勒拉宾算法是一种判断素数的随机化算法,由于其随机性,它不能保证总是正确的,但其对于一个素数,总会返回素数的结果,对 阅读全文
posted @ 2019-07-30 15:19 Isakovsky 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 回文自动机模板题 头铁了一下午hdu6599,最后发现自己的板有问题 先放这里一个正确性得到基本确认的板,过两天肝hdu6599 阅读全文
posted @ 2019-07-28 23:33 Isakovsky 阅读(205) 评论(0) 推荐(0) 编辑