摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2199 题意:给一个Y,求满足8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y的x,且X在范围[0,100]中,若没有符合要求的X则输出No solution! 不知道为什么whi 阅读全文
posted @ 2019-10-29 23:15 myrtle 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3015 题意:给定n组数,每组数有值x和值h,求n组数两两的val的总和。将所有x和所有h分别离散化(不去重)变成x'和h',val(i,j)为abs(x'i-x'j)*min(hi',hj')。 如: 阅读全文
posted @ 2019-10-29 00:10 myrtle 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题意:给n个线段,每个线段会覆盖一些点,求删最少的线段,使得每个点覆盖的线段不超过k条。 思路:按右端点排序,之后依次加入每个线段,查询线段覆盖区间内的每个点,覆盖的最大线段数量,如果不超过k,那就可以直接加入。 #include<bits/stdc++.h> using namespace std 阅读全文
posted @ 2019-10-24 19:40 myrtle 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=5969 题意:给定自然数l和r ,选取2个整数x,y,满足l <= x <= y <= r,使得x|y最大。 分析:先把l和r转换成二进制位,举个栗子: (假设LR最高位不是同一位): x、y可以取二进制的1 阅读全文
posted @ 2019-10-12 16:09 myrtle 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/problemset/problem/296/C 题意:给你n、m、k,表示n个数a[i],m个对数的操作,k个对操作的操作。m个操作:数a[l]到a[r]范围内都加上d;k个操作:操作m[l]到操作m[l]范围内都执行一次。 线段树套线段树,但 阅读全文
posted @ 2019-10-11 13:20 myrtle 阅读(472) 评论(0) 推荐(0) 编辑
摘要: 目的:类似回文Trie树+ac自动机,可以用来统计一些其他的回文串相关的量 复杂度:O(nlogn) https://blog.csdn.net/Lolierl/article/details/99971257 https://www.luogu.org/problem/P5496 求出以每个位置结 阅读全文
posted @ 2019-10-10 21:17 myrtle 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 线段树自用模板 #include <iostream> using namespace std; const int MAX_N=10010; int s[MAX_N<<2]; void up(int p) { s[p]=s[p<<1]+s[p<<1|1]; } void modify(int p, 阅读全文
posted @ 2019-09-29 11:27 myrtle 阅读(449) 评论(0) 推荐(1) 编辑
摘要: 目的:对给定的一个序列,在序列中寻找包含全部需求的、长度最小的一段子序列。一般用来解决具有单调性的区间问题。 时间复杂度:O(n) https://blog.csdn.net/lxt_lucia/article/details/81091597 自用模板: poj3061,给定一个序列,使得其和大于 阅读全文
posted @ 2019-09-25 19:54 myrtle 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 目的:,在线更新 复杂度:每次更新√n块+√n个+√n个,so复杂度O(√n) belong[maxn],每个数在哪一块 block,每个块的大小 num,有多少块 l[maxn],这个数所在左边界是什么 r[maxn],这个数所在右边界是什么 https://www.cnblogs.com/qsc 阅读全文
posted @ 2019-09-19 21:21 myrtle 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 目的:把字符串有效地转化为一个整数,极小的概率会出现两个字符串hash值相等。 学习链接:https://www.luogu.org/blog/pks-LOVING/zi-fu-chuan-xue-xi-bi-ji-ha-xi-hash-yu-zi-dian-shu-trie# hash[i]=(h 阅读全文
posted @ 2019-09-18 23:28 myrtle 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题面:https://nanti.jisuanke.com/t/41408 题意:A,2,3,4,5,6,7,8,9,10,J,Q,K,13张牌,无花色之分,val为1~13。 给n个人名+n个牌,输出人名的ranklist 比较规则: 皇家顺最大 顺子第二,都是顺看最大牌的val 四条第三,先看四 阅读全文
posted @ 2019-09-14 19:00 myrtle 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 目的:已知一个串S,求S的循环的同构字符串S'中字典序最大/最小的一个,输出其位置,place∈[0,n-1] 设S=bcad,S'=bcad,cadb,adbc,dbca,最小表示的S'是adbc,位置是2,最大表示的S'是dbca,位置是3 时间复杂度:O(n) 自用模板: int get_mi 阅读全文
posted @ 2019-09-13 16:21 myrtle 阅读(341) 评论(0) 推荐(0) 编辑
摘要: 目的:线性查找一个串的最长回文子串 时间复杂度:O(n) len[i]表示以i为中心的回文串的半径,mx即为当前计算回文串最右边字符的最大值,p是中心点mid,mx-i和2*p-1关于p对称 https://blog.csdn.net/csdn_kou/article/details/8291793 阅读全文
posted @ 2019-09-09 16:53 myrtle 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 目的:已知n个长度不一定相同的母串,以及一个长度为m的模式串T,求该模式串是否是一个母串的前缀。 时间复杂度:O(m) 特点:牺牲空间换取时间,常用于字符串的快速检索,快速排序与去重,文本的词频统计等。 模板 const int MAX_N = 10000; // Trie 树上的最大结点数 con 阅读全文
posted @ 2019-09-06 08:09 myrtle 阅读(150) 评论(0) 推荐(1) 编辑
摘要: 在线python:https://c.runoob.com/compile/9 版本类型:python3 文字部分加入了自己的理解(#^.^#) /是精确除 //取整除(对结果直接去掉小数部分) 相同的行缩进在同一层次,def是定义函数关键字,错误缩进会被告知语法错误syntax error,不用\ 阅读全文
posted @ 2019-09-03 00:19 myrtle 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 因为有道ac自动机+状压dp的题,故开此坑。 状压dp:状态压缩dp(元素数量通常不超过20),借助位运算将状态压缩。 空间复杂度:O(n*n) 上一行的状态为now,下一行的状态为prev,通过枚举上一行所有状态,来更新当前行、当前状态的最优解。 给定n*m矩阵,行列都不超过20,有些格子可选有些 阅读全文
posted @ 2019-09-01 00:04 myrtle 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 1.全局变量和局部变量重名 2.爆int爆long long 3.打错*6,scanf拼错 for(int i=0;i<=tot;i++) { ans+=dp[len][tot]; //是i啊我!@#¥%……&*() } 4.数组开小,结果会超时 5.超内存 int 4Byte,long long  阅读全文
posted @ 2019-08-29 20:53 myrtle 阅读(214) 评论(1) 推荐(2) 编辑
摘要: 目的:已知n个长度不同的模式串,以及一个长度为m的串S,求在S中出现过多少个模式串。 步骤: ①建立trie树 ②建立失败指针 ③字符串匹配 fail[now]:当前节点now的失败指针指向的地方 trie[now][i]:下一个字母为i+'a'的节点的下标为trie[now][i] build过程 阅读全文
posted @ 2019-08-28 23:59 myrtle 阅读(173) 评论(0) 推荐(1) 编辑
摘要: 目的:Range Minnum/Maxnum Query,区间最值查询 时间复杂度:预处理O(n*logn),查询O(1) 自用模板: dp[i][j]表示从第i位开始连续 个数中的最小值,rmq(l,r)表示[l,r]区间中的最值,dp开[maxn][30] void rmq_init() { f 阅读全文
posted @ 2019-08-27 14:10 myrtle 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 自用模板: sa:字典序中排第i位的起使位置在str中第sa[i],sa[1,n]rk:str第i个位置的后缀在字典序中排第几,rk[1,n]height:字典序排i和i-1的后缀的最长公共前缀,height[2,n] #include<bits/stdc++.h> #define maxn 100 阅读全文
posted @ 2019-08-26 16:37 myrtle 阅读(261) 评论(0) 推荐(0) 编辑