摘要: 给一颗树,两种操作,一种把同一层的点权值加上v,另一种求一点下的子树权值和。 按层数中点个数分块,小块直接暴力把所有点用bit更新,大块把层的值存下来。 询问的时候子树权值和为bit中的值以及其下面的点在大块中的值,下面中的点在大块中的值用二分实现。 #include <bits/stdc++.h> 阅读全文
posted @ 2018-09-08 23:28 LMissher 阅读(189) 评论(0) 推荐(0)
摘要: 容斥+状压 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll MOD = 1e9+7; #include<vector> //const int MAX = 110; const int N = 1 阅读全文
posted @ 2018-09-08 22:21 LMissher 阅读(167) 评论(0) 推荐(0)
摘要: 正解应该是上下界网络流模板题,被队友用贪心水过去了。 #include <bits/stdc++.h> #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 #define up rt,rt<<1,rt<<1|1 #define mem(x) m 阅读全文
posted @ 2018-09-08 22:20 LMissher 阅读(190) 评论(0) 推荐(0)
摘要: 容易想到不存在超过三位的数满足条件,打表找出所有三位及以下的数。 #include <iostream> #include <cmath> #include <cstring> using namespace std; bool IP(int x) { //bool flag=1; for(int 阅读全文
posted @ 2018-09-08 22:18 LMissher 阅读(195) 评论(0) 推荐(0)
摘要: k短路模板题。 #include <bits/stdc++.h> #define mem(x) memset(x,0,sizeof(x)) #define mem1(x) memset(x,-1,sizeof(x)) using namespace std; const int M = 1005; 阅读全文
posted @ 2018-09-08 22:18 LMissher 阅读(176) 评论(0) 推荐(0)
摘要: 水题,进制转换之后用字典树模拟。 #include <bits/stdc++.h> #define cls(x) memset(x,0,sizeof(x)) #define REP(i,x,y) for(i=x;i<=y;i++) using namespace std; const int M = 阅读全文
posted @ 2018-09-08 22:16 LMissher 阅读(168) 评论(0) 推荐(0)