摘要:很像二维偏序,我们把武器和怪物放在一起排序按照攻击力递增的顺序,顺序扫描,这样攻击力满足了要求,然后防御力可以用一个线段树来处理,具体看代码 #include<iostream> #include<cstdio> #include<cstring> #include<vector> #include
阅读全文
摘要:题意:总共有n+m个点,每一个点都有一个val,给出一个n*m的矩阵,矩阵中第i行第j列的为=,表示 i 点 和 j+n个点的值相等,<表示i 点比j+n个点的值小,> 刚好相反 要求用最少的值给每一个点确定一个val,满足如上那个矩阵,如果不存在输出Yes 存在输出每一个点的val 题解:大小关系
阅读全文
摘要:很好的思维 转化为对树上的深度差分 回朔的思想 对查询离线
阅读全文
摘要:int a[maxn]; struct Segment_Tree { #define maxn 100005 #define ls o>1; sum[ls]+=(mid-l+1)*add[o]; sum[rs]+=(r-mid)*add[o]; add[ls]+=add[o]; add[rs]+=add[o]; ...
阅读全文
摘要:http://www.doc88.com/p-9042008501060.html 论文说的很清楚 Cricket FieldUVALive - 2689 附送代码
阅读全文
摘要:Average UVALive - 4726 http://www.docin.com/p-881778722.html 这个论文说的很清楚
阅读全文
摘要:很显然是单调栈 这里记录一种新的写法,这种写法基于递推,但是相比之下比单调栈更好写
阅读全文
摘要:虽然只是B题,还是div2的 但感觉挺有意思,所以写一篇博客记录一下 最初的想法是利用DP去做,f[s]=true表示字符串s对应先手赢,否则对应后手赢,大致想了下发现是指数级别的算法,看了下范围直接pass掉 然后就接着想,发现如果两个相等的字符被消掉之后,相等字符的周边靠过来,如果还能消除的话他
阅读全文
摘要:思想不错,但感觉很鸡肋 https://www.cnblogs.com/aininot260/p/9304521.html 这道题运用了差分数组 http://codeforces.com/blog/entry/65079
阅读全文
摘要:很不错的一道题 给你一个长度为n的数组,问共有多少个区间满足区间之和小于给定的数t 这种题一般做法肯定是枚举,固定左端点枚举右端点,枚举的过程需要优化,否则就是n方 这道题我先求一个前缀和,然后逆着枚举,显然问题转化为了对于一个数,如果寻找他右边的数哪些小于它+t,这就转化为了区间求和,可以树状数组
阅读全文
摘要:const int SIGMA_SIZE = 26; const int MAXNODE = 11000; struct AhoCorasickAutomata { int ch[MAXNODE][SIGMA_SIZE]; int f[MAXNODE]; // fail函数 int val[MAXNODE]; // 每个字符串的结尾结点都有一个非0的val ...
阅读全文
摘要:struct KMP { void print() { } void GetFail(char *P,int *f) { int m=strlen(P); f[0]=f[1]=0; for(int i=1; i<m; i++) { int j=f[i]; while(j&&P...
阅读全文
摘要:b.any() b中是否存在置为1的二进制位?b.none() b中不存在置为1的二进制位吗?b.count() b中置为1的二进制位的个数b.size() b中二进制位数的个数b[pos] 访问b中在pos处二进制位b.test(pos) b中在pos处的二进制位置为1么?b.set() 把b中所
阅读全文
摘要:#include using namespace std; #define IO ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0) const int maxnode=700000+5; const int sigma_size=26; const int mod=20071027; char tmp[200+5]; char st[...
阅读全文
摘要://ST表#include #define IO ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) //#define int long long using namespace std; const int maxn=100000+5; int d[maxn][32]; void RMQ_init(int *A,int n) { f...
阅读全文
摘要:struct Hashmap{ static const int Ha=999917,maxe=46340; int E,lnk[Ha],son[maxe+5],nxt[maxe+5],w[maxe+5]; int top,stk[maxe+5]; void clear() {E=0;while(top) lnk[stk[top--]]=0;} void ...
阅读全文