1 #include <iostream> 2 #include<cstdio> 3 using namespace std; 4 int main(){ 5 int p,e,i,d; 6 int num=0; 7 while(1){ 8 cin>>p; 9 if(p 1) 10 break; 11 ...
分类:
其他好文 时间:
2020-07-02 22:00:58
阅读次数:
48
##基本介绍 KMP算法是一种用于字符串匹配的算法,网上关于kmp的介绍很多,也十分复杂,(其实我也没怎么搞懂)。首先我们还是考虑朴素的匹配,暴力枚举匹配起点,遇到不匹配的点,就直接退出,进行下一个起始点开始的一轮匹配,这样的复杂度是平方级别的。但是kmp算法考虑的问题是,我们在这样的匹配过程中,会 ...
分类:
编程语言 时间:
2020-07-02 21:35:06
阅读次数:
68
诶,为了期末,好久没有(其实也就一个月)写这玩意了emmmm 为了贯彻落实社会主义核心价值观,最近打算把程序算法的相关知识从头串一遍. (感觉自己学得好散,而且忘了一大半了QAQ) 这样的话每天能更几篇也没太有数,为了方便打算每个题都更一篇,(顺便刷刷总篇数(bushi)). 其实写写博客满满的收获 ...
分类:
其他好文 时间:
2020-07-02 19:46:55
阅读次数:
55
Spring中的@Transactional注解支持9个属性的设置,这里只讲解其中使用较多的三个属性:readOnly、propagation、isolation。其中propagation属性用来枚举事务的传播行为,isolation用来设置事务隔离级别,readOnly进行读写事务控制, 参数名 ...
分类:
编程语言 时间:
2020-07-02 19:46:37
阅读次数:
57
分组背包问题是物品有n组,每组里面有若干个物品,每组里最多选一个。 dp[i][j]只从前i组物品中选,且总体积不大于j的最大价值 状态计算:枚举第i组物品选哪个或不选 不选第i组物品,选第i组的第1个物品,选第i组的第2个物品,等等等等 二维做法 1 #include <bits/stdc++.h ...
分类:
其他好文 时间:
2020-07-02 18:12:21
阅读次数:
43
完全背包问题是每件物品有无限个 完全背包问题的状态表示和01背包问题一样 dp[i][j]表示只看前i个物品,总体积<= j的最大价值 状态计算: 按照第i个物品选了多少个来分 然后综合起来就是 k是枚举的第i个物品的个数,k = 0, 1, 2,... 三层循环的二维做法 1 #include < ...
分类:
其他好文 时间:
2020-07-02 13:46:43
阅读次数:
45
gate 一年前做的. 求一个字符串由多少个循环节构成. KMP. 结论:若$n % (n-next[n]) \not= 0$则不是由循环节构成的. 否则,答案为$n/(n-next[n])$. code #include<cstdio> #include<iostream> #include<cm ...
分类:
其他好文 时间:
2020-07-01 09:51:14
阅读次数:
65
题链 tips: 1.n皇后其实是用递归遍历所有可能的情况,通过位置的限制来减小解空间的大小,减少枚举的数目。属于递归以枚举。 2.是递归完成全排列的基础上改的。 3.有一维和剪枝的写法(待补) #include<cstdio> #include<cmath> #include<algorithm> ...
分类:
其他好文 时间:
2020-06-30 22:10:20
阅读次数:
45
int prime[maxn], prime_tot; int is_prime[maxn]; int mu[maxn]; void pre_calc(int lim) { mu[1] = 1; for (int i = 2; i <= lim; i++) { if (!is_prime[i]) { ...
分类:
其他好文 时间:
2020-06-30 20:43:31
阅读次数:
49