题面的简述:总共有$m$种书,书架上共有$n$本书,给出$n$本书的种类,并有$Q$个询问,每次询问给出$l, r, k$。每次询问时都会先出现$k * m$本书,每种书各$k$本,然后再加入书架上的$n$本书,共有$km + n$本书,从中随机取出$n$本随机顺序放回书架,问在$[l,r]$之间的 ...
分类:
其他好文 时间:
2018-08-09 23:05:37
阅读次数:
155
整数规划 在xi 与 yi 之间建立一条边值为a[i][j]的边, 然后跑km算法 2分图最优匹配。 原来的km+hunger跑法T了, 拿了一个新的板子, 新的写法是将这原来的找新的最小的d放在了上一次的残留图上,从而减小复杂度, 但是个人还不是很理解为什么最小的d下一次出现的位置一定是这次出现的 ...
分类:
其他好文 时间:
2018-08-07 14:01:14
阅读次数:
558
问:求小于n等于且与n互素的正整数的个数 两个整数互素即:两个数gcd为1 解: 根据唯一分解定理,大于1的整数均可看成若干素数的乘积的形式 若n=1,答案为1; 若n>1; 可以这样考虑: 把n看成若干素数的乘积n=p1^k1*p2^k2*···*pm^km;(p1,p2,···,pm均为素数)( ...
分类:
其他好文 时间:
2018-08-07 13:07:06
阅读次数:
173
``` // pragma comment(linker, "/stack:200000000") // pragma GCC optimize("Ofast,no stack protector") // pragma GCC target("sse,sse2,sse3,ssse3,sse4,po ...
分类:
其他好文 时间:
2018-08-06 22:13:19
阅读次数:
262
<题目链接> 题目大意: 给你一些单词,和一个字符串,问你这个字符串中含有多少个上面的单词。 解题分析: 这是多模匹配问题,如果用KMP的话,对每一个单词,都跑一遍KMP,那么当单词数量非常多的时候,耗时会非常多,所以这里用到了AC自动机,这是一种类似于Trie树的数据结构,但是同时,它也用到了KM ...
分类:
其他好文 时间:
2018-08-05 21:27:15
阅读次数:
146
[题目链接] http://poj.org/problem?id=3565 [算法] KM算法求最小匹配 [代码] ...
分类:
其他好文 时间:
2018-08-03 16:23:30
阅读次数:
157
Description "题目链接" Solution 先看了一篇 "有意思的题解" 大致了解了 $KM$ 的思想 但是这个程序有点 $bug$ 啊,于是学了复杂度十分优秀的"手动模拟法" 在原来的基础上,把每一次从 $i$ 开始 $dfs$ , 找到第一个瓶颈位置 , 改成不断扩展瓶颈位置 直到可 ...
分类:
其他好文 时间:
2018-07-15 14:55:50
阅读次数:
202
奔小康赚大钱 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12628 Accepted Submission(s): 5548 Problem ...
分类:
其他好文 时间:
2018-07-15 11:09:42
阅读次数:
196
hdu 2255 费用流的模板题。 就是用KM跑一下最优匹配就好了。 代码: 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define Fopen freopen("_in.txt","r",stdin); freopen("_out.tx ...
分类:
其他好文 时间:
2018-07-14 16:24:08
阅读次数:
101
Knuth-Morris-Pratt三位学者发现的. 2. 模式值数组与最长首尾匹配 可能有读者因上一节的匹配太缭乱而直接跳到这里,那笔者再重复一遍已经得到的结论:我们需要对字符串N进行预处理,得到一个叫做模式值数组的东西。那么我们怎样处理字符串N呢? 这个东西如果我们能思考出来,那我们就可以在KM ...
分类:
其他好文 时间:
2018-07-04 10:30:57
阅读次数:
139