博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
上一页 1 ··· 6 7 8 9 10 11 12 13 下一页
摘要: 题目: 求有多少组二元组$(l,r)$使得:$1O(nlogn)$ 离线处理:$x$在区间内出现了多少次即可。 总复杂度:$O(nlogn)$ c++ pragma GCC optimize(2) include using namespace std; define ll long long co 阅读全文
posted @ 2018-09-03 15:45 Allorkiya 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 思路: 就是考虑一个结论 对于$1 mod$时,显然取模为0,所以出题人很好心的没有给$10^{18}$的点。 代码我不知道为什么老是爆炸... c++ include using namespace std; define ll long long const int mod = 1e6+3; i 阅读全文
posted @ 2018-09-03 14:46 Allorkiya 阅读(219) 评论(0) 推荐(0) 编辑
摘要: $T1$ 直接考虑二分就可以了。。。 二分spfa判断,直接AC一发! $T2$ 推式子题。。。其实如果不想推的话可以直接高精。。。 c++ include using namespace std; define ll long long const int maxn = 4010; const i 阅读全文
posted @ 2018-09-03 13:06 Allorkiya 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 题意:求满足题意的方案数。 思路: 显然的计数类$dp$。 不难发现,令$f(x) = \prod_{i=1}^{2m}{x_i} $. 在找一个$x'$使得$f(x') = \prod_{i=1}^{2m}{n/x_i}$ 那么,$f(x') = n^{2m}/f(x) n^m$ 所以说,对于$$ 阅读全文
posted @ 2018-09-03 11:26 Allorkiya 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定两个数n和m,求在$[1,2^n)$范围内包含至少两个相同数的概率。 思路: 其实也挺好想的,我们首先推出概率: $A(2^n,m)/2^{nm}$ 然后化简,考虑一个结论: 对于任意的$x$,$110^6+3$时,乘积中必然有一项是$m$,那么结果一定为0. 搞定! 阅读全文
posted @ 2018-09-01 22:16 Allorkiya 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 题目大意:将 n 个数 ai分成若干连续的段,使得每段的和都相等,求最多可以分成多少段。 思路: 考虑ai的和为sum,那么每一段的和就是约数。 对于每一个d,考虑其是否合法。 1e6之内用桶统计不会超时。 c++ include using namespace std; int n; int an 阅读全文
posted @ 2018-08-31 15:53 Allorkiya 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 思路: 似乎和某次培训的题很像啊。。。 将左括号记为1,右括号记为 1,那么最终一定加和为0,然后再求最小前缀和。 用dp解决即可。 c++ include using namespace std; define ll long long const int maxn = 1000010; cons 阅读全文
posted @ 2018-08-31 10:40 Allorkiya 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 思路: 考虑树形dp。 我们设$dp[i][j][0/1]$表示在$i$为根的子树中花费$j$单位时间,最终回到/不必回到$i$的最大收益。 转移三种: $dp[x][j][0] = max(dp[x][j][0],dp[x][j k 2][0] + dp[y][k][1]);$ $dp[x][j] 阅读全文
posted @ 2018-08-31 09:01 Allorkiya 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 思路: 并查集按秩合并维护出现时间。 最早连接时间就是树上连接最大值。 $qwq$我居然把路径压缩和按秩合并打到一个程序里了...OvO c++ include using namespace std; const int maxn = 1000010; struct edge { int to; 阅读全文
posted @ 2018-08-31 08:38 Allorkiya 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 思路: 差分+排序 c++ include using namespace std; define ll long long const int maxn = 1000010; int n,m; int a[maxn]; ll ans; int main () { freopen("lock.in" 阅读全文
posted @ 2018-08-30 20:49 Allorkiya 阅读(148) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 下一页