摘要: bit扫描坐标套路题,注意有重复的点,莽WA了。 C++ const int maxn = 1e5 + 5; struct node { ll B, F, D; bool operator rhs.B; return F 阅读全文
posted @ 2019-04-08 22:23 AlphaWA 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 最小生成树上倍增询问裸的。 阅读全文
posted @ 2019-04-08 22:21 AlphaWA 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 答案只有n 1种暴举即可,对于每种,gcd是一那踩雷稳了,否则看雷的分布有没有把模余占满。 阅读全文
posted @ 2019-04-08 22:19 AlphaWA 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 乍一看很唬人,草稿纸上多写几个发现规律:两个元音算一层,像剥洋葱一样,外面的其实都动不了,能变顺序的只有最里层的辅音。 C++ inline bool ok(char ch) { return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || c 阅读全文
posted @ 2019-04-08 22:11 AlphaWA 阅读(176) 评论(0) 推荐(0) 编辑
摘要: dp[i][j][k]表示第i位填数字k时,与后面的相连模数为j时,后面的数字最小填多少。 测得我提心吊胆还以为复杂度高了,结果出来46ms还是cf评测姬强啊。 阅读全文
posted @ 2019-04-08 22:01 AlphaWA 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 笔者休息娱乐。贪心即可,爱怎么暴力怎么暴力。莽WA,改了几下算法发现是输出中二了…… C++ int T, color[26], tot; bool adj[26][26]; string s; void get(int cur) { set s; rep(i, 0, T 1) if (adj[cu 阅读全文
posted @ 2019-04-08 19:56 AlphaWA 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 本来我就模拟和搜索恐惧症,场上乍一看调度来调度去的真的吓得没敢写。然鹅赛后听说别的队写得贼短就写了写,真的不难……嘤嘤嘤 C++ include include include include using namespace std; struct Others { int usage, recov 阅读全文
posted @ 2019-04-08 17:42 AlphaWA 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 1.不会超过500个不同的串…… 2.样例没给has到has是怎么样的,实测是true。 3.记忆化别剪错枝就好,嘤嘤嘤…… C++ const int maxn = 505 + 5; int n, m, tot; string s, op, t; bool can[maxn][maxn][2], 阅读全文
posted @ 2019-04-08 16:46 AlphaWA 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 树上每个割点计算一下各个size的组合相乘再相加为第一问答案,取最大的;再把本答案中最大的两个size相乘减掉,为第二问答案。 C++ const int maxn = 1e4 + 5; int n, size[maxn], ans, b; vector adj[maxn]; void dfs(in 阅读全文
posted @ 2019-04-08 14:52 AlphaWA 阅读(201) 评论(0) 推荐(0) 编辑
摘要: dp[i][j][0/1]:第i天处于第j状态要不要吃。 阅读全文
posted @ 2019-04-08 10:23 AlphaWA 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 其实我读题都懵逼……他给出一个素数p,让你设计一种加和乘的运算使得$$(m+n)^p = m^p+n^p$$ 答案是设计成%p意义下的加法和乘法,这样:$$(m+n)^p\ \%\ p = m+n$$$$m^p\ \%\ p=m$$$$n^p\ \%\ p=n$$ 所以$$(m+n)^p\ \%\ 阅读全文
posted @ 2019-04-08 00:09 AlphaWA 阅读(200) 评论(0) 推荐(0) 编辑