摘要:
通道思路:每个数建个31位的树,处理好关系即可代码:#include #include #include using namespace std;const int N = 60007;const int BIT = 32;int n, m;int tot, s[N * BIT], a[N * BI... 阅读全文
摘要:
通道题意:给你n(1e5)个三元组、然后要你求这n个三元组的LIS。和这样LIS的方案数。一个三元祖a比另一个元祖b大的条件是ax>=bx,ay>=by,az>=bz思路:排序x去掉一维。然后我们要找到 y z。然后对于一个区间上,我们对y排序,但是在排序之前记录下此时的id排序之后,就能得到y的递... 阅读全文
摘要:
通道题意:计算C(n,0)+...C(n,n)思路:转化为LCM(1...n)/ n代码:#include #include using namespace std;typedef long long ll;const int N = 1000000+2;const ll MOD = (ll)1e9... 阅读全文
摘要:
通道思路:dp[i][j][k]:k步时,A到i行,B到j行的最大值代码:#include #include using namespace std;int maxPath(vector > &num) { const int m = num.size(); const int n = ... 阅读全文
摘要:
通道思路:连续上升,连续下降的值放到set里面,然后对于大于m的集合双向链表进行合并,合并肯定是找绝对值最小的合并。代码:#include #include #include #include using namespace std;typedef long long ll;const int N ... 阅读全文
摘要:
通道思路:dp[i]由dp[i-1]而来,统计小于a[i]的位置k,且dp[k]+1=dp[i]的所有个数即可。代码:#include #include #include using namespace std;typedef long long ll;template inline bool rd... 阅读全文
摘要:
通道题意:0-9字符串,区间修改,区间询问是否d周期思路:直接暴力线段树,然后HASH修改和查询,卡HASH的话就双HASH。代码:#include#includetypedef long long ll;const int N = 100007;int n, m, k, lens;char s[N... 阅读全文