上一页 1 2 3 4 5 6 7 8 ··· 17 下一页
摘要: 题目 给你一颗n个结点的树,需要执行n次以下操作: 选择一个未被删除结点u,令$a_u$等于与u相邻未被删除的结点数。 将结点u从树中删除 也就是说,n次操作完后可以得到一个序列$a={a_1,a_2,...,a_n}$。问在所有可能的序列$a$中,满足以下条件: 序列$a$可以由上述n次操作得到 阅读全文
posted @ 2021-09-08 20:24 limil 阅读(26) 评论(0) 推荐(0) 编辑
摘要: C Carrying Conundrum(思维) 方法一 直接dfs搜索,进位与不进,时间复杂度O(2^9)。 #include <bits/stdc++.h> #define endl '\n' #define IOS std::ios::sync_with_stdio(0); cin.tie(0 阅读全文
posted @ 2021-09-08 19:49 limil 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 所谓的亚线性筛,是指一类用低于线性复杂度求出积性函数前缀和的方法。 杜教筛 杜教筛可以在$O(n^{\frac{2}{3}})\(的时间复杂度求出\)\sqrt{n}$ 个点值,原理和实现都比较简单。 原理与实现 对于数论函数$f$,要求计算$S(n)=\sum\limits_{i=1}^{n}{f 阅读全文
posted @ 2021-09-04 20:02 limil 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 题目 Problem - 7116 题解 一个数最多加$\log n$次lowbit,之后只需乘2即可。因此可以结合线段树暴力,没好的暴力加,加好的直接打标记乘2。 原本我的方法是并查集维护那些区间乘2,那些区间暴力加,并查集合并。这样做时间复杂度相似,但是常数巨大。除了并查集本身的复杂度,每次更新 阅读全文
posted @ 2021-09-04 19:19 limil 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题目 Problem - 7113 题解 一开始想的是dp,但是需要$dp[i][j]$代表在$n \times i$的方格中放入$j$个数使得每列都至少有一个数的方案数,这样答案就是 \[ n!(n^2-n)!\sum\limits_{i=1}^{n}{i\cdot dp[i][n] \cdot 阅读全文
posted @ 2021-09-04 19:09 limil 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 欧几里得算法 gcd,\(O(\log n)\) ll gcd(ll a, ll b) {return b ? gcd(b, a % b) : a;} lcm,\(O(\log n)\) // 注意数据范围,过大的数要用__int128 ll lcm(ll a, ll b) {return a * 阅读全文
posted @ 2021-09-03 13:58 limil 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题目 Problem - H - Codeforces 给定一个整数序列${a_i}\(满足\)-1\le a_i\le 1$,给定$k$个约束条件$(l,r,d)\(代表\)\sum\limits_{i=l}^{r}{a_i}\ge d$。你需要将${a_i}$中所有为0的位置的值替换为-1或1, 阅读全文
posted @ 2021-08-25 22:34 limil 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题目 Access Points 给定n个点坐标,编号1~n。让你重新安排这n个点坐标,满足编号小的横纵坐标均小于等于编号大的横纵坐标,同时让每个点偏移的距离平方和最小,输出最小值。 题解 显然,x和y坐标独立,可以分开处理。 问题变成一维问题。因为最终坐标要按照编号从小到大递增。编号连续的点肯定要 阅读全文
posted @ 2021-08-25 07:54 limil 阅读(72) 评论(0) 推荐(0) 编辑
摘要: Miller-Rabin素性测试 用于快速判断一个大数是不是素数。时间复杂度$O(k\log^3(n))$,$k$为测试轮数。如果底数随机,一般取$k=8$。 一个很好的博客:素数与素性测试 ll qpow(ll a, ll b, ll m) { ll res = 1; while(b) { if( 阅读全文
posted @ 2021-08-24 11:03 limil 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 题目 给定$n$和$k$,求小于$n$且不被前$k$个素数整除的个数,\(n\le 10^{18},k\le 16\)。 题解 很容易想到用容斥来解决,但$T\cdot 2^{16}$太大,得想办法经可能预处理。 前8个素数乘积很小数量级为$107$,可以预处理前$107$的答案,从而可以O(1)查 阅读全文
posted @ 2021-08-22 14:56 limil 阅读(67) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 17 下一页