摘要:
线段树递归查询,取最大值建树#include #include #include #include #include #include #include #include #include #include #define LL __int64using namespace std;const i... 阅读全文
摘要:
选最大值。线段树。#include #include #include #include #include #include #include #include #include #include #define LL __int64using namespace std;const int N=... 阅读全文
摘要:
线段树单点更新,区间求和。#include #include #include #include #include #include #include #include #include #include #define LL __int64using namespace std;const in... 阅读全文
摘要:
很明显的DP状态了,设dp[i][j],设当前在状态点i,经过j步能得到的最大分值。也是从root直接扩展就可以了。至于字符串,实在有点困难,开始想着记录路径,但后来发现路径从后往前回溯不一定是字典序最小,夭折。。。看别人的,发现直接就把字符串存下来,跪了,也对,毕竟才50个。直接存字符串,比较,选... 阅读全文
摘要:
直接从root遍历扩展DP,当扩展到的字母和字符串字母相同时,不用修改,不同时,要求修改加1注意不要扩展危险结点。#include #include #include #include #include #include #include #include #include #include #de... 阅读全文
摘要:
下午连续看了两题的AC自动机+DP题,发现都有点规律了,都是由trie图循环赋值,按照结点一步步向外推的,而且状态设的也很相似。。。dp[i][j][k],一开始以为至少k个是可以相同的,其实这k个串应该是不同的,于是就可以按照二进制压缩这M个串,1表示选上了这个串。注意一下fail指向的结点要与当... 阅读全文
摘要:
什么鬼,真的是有负数的吗?我在字符加上了128才过了。dp[i][j],经过i步到达j状态的路径数。转移很容易了,建个trie图就可以,由前一步可连通到和更新即可。另外,要用到大数和AC自动机DP 1 #include 2 #include 3 #include 4 #include ... 阅读全文
摘要:
//因为2^64次方不可能表示,直接定义unsigned __int64,可以自动截断。其他和POJ 2778差不多。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include ... 阅读全文
摘要:
主要利用状态之间的转换吧,可以把各个状态之间的转换成矩阵,利用矩阵乘法来找出有多少条路径。题解转自:http://blog.csdn.net/morgan_xww/article/details/7834801•题意:有m种DNA序列是有疾病的,问有多少种长度为n的DNA序列不包含任何一种有疾病的D... 阅读全文
摘要:
EASY题#include #include #include #include #include #include #include #include #include using namespace std;const int dictsize=130;const int QN=400000;b... 阅读全文
摘要:
这题应该是用输入的模式串应该是可以有多个相同的,所以有count++,而且有一个地方是if(temp->count>0) //>0是必须的。 { cnt+=temp->count; temp->count=0; ... 阅读全文
摘要:
原本一道挺简单的DP题,思路有了,运用单调队列,但在写单调队列时写挫了。。。这道题只需要计算偶数位置的即可,这是显而易见的,我有注意过这情况,写的时候却没在意。。。--!加入队列的元素应该当前now之前的now-2*A的元素,我开始不是每计算一个now位置就加入now-2*A的元素,搞得不是O(L)... 阅读全文
摘要:
二分+树状数组水过了,从后往前确定数字即可。#include #include #include #include #include #include #include #include #include #define lowbit(x) ((x)&(-(x)))using namespace s... 阅读全文
摘要:
直接DP,设当前第i个数为结尾的算奇数次和偶数次的得到的最大值。分开设即可。#include #include #include #include #include #include #include #include #include using namespace std;int main(){... 阅读全文
摘要:
终于过了,SHIT,二分+DFS即可,二分区间,根据数字是否在区间内,变成迷宫题了。枚举第一个格子,二分上界,即可。#include #include #include #include #include #include #include #include #include using names... 阅读全文