
题解
Heilzenith
这个作者很懒,什么都没留下…
展开
-
【Tyvj 1432】楼兰图腾
前言看群里有人又提到这个问题,终于决定把自己以前写的这篇文章放上来……分析两遍树状数组求逆序对,针对每个点作为图腾尖端的情况,统计左右比它小(大)的个数,利用乘法原理求解,记得开64位整数。重要《算法竞赛进阶指南》和入门OJ中的题目描述的数据范围有误:原描述为N≤105N≤10^5,实际数据范围为N≤2×105N≤2\times 10^5。测试数据有误,估计是出题人标程中忘记类型转换,下面给出的代码原创 2018-04-26 09:29:57 · 637 阅读 · 1 评论 -
【POJ 1845】Sumdiv(逆元解法)
题目描述求 ABABA^B 的所有约数之和 mod9901mod9901\mod 9901。1≤A,B≤5×1071≤A,B≤5×1071≤A,B≤5\times10^7。算法分析根据之前博客的题解,ABABA^B 的约数之和为 (p00+p10+...+pc0B0)×(p01+p11+...+pc1B1)×...×(p0n+p1n+...+pcnBn)(p00+p01+...+p...原创 2018-08-03 21:25:10 · 310 阅读 · 0 评论 -
【CH 3301】同余方程
题目描述求关于 xxx 的同余方程 ax≡1(modb)ax≡1(modb)ax\equiv1(\mod b) 的最小正整数解.算法分析将同余方程转化为二元一次方程的形式,即由 ax≡1(modb)ax≡1(modb)ax\equiv1(\mod b) 转化为 ax−by=1ax−by=1ax-by=1。使用扩展欧几里得算法求解:当 b=0b=0b=0 时要满足 ax−by...原创 2018-08-03 22:02:57 · 262 阅读 · 0 评论 -
【COGS 2965】简单题233
题目描述有一个 n×m(1≤n,m≤300000)n×m(1≤n,m≤300000)n\times m(1≤n,m≤300000) 的网格,求从左上角第一个格子走到右下角最后一个格子的方案数(由于方案数过大,请余除23333333),只能选择向下走或向右走。算法分析由于只能向左走或向右走,总步数固定为 n+m−2n+m−2n+m-2,向下走的步数固定为 m−1m−1m-1,则答案就...原创 2018-07-30 21:26:21 · 267 阅读 · 0 评论 -
【CH 4302】Interval GCD
线段树维护区间 GCD。原创 2018-07-31 00:03:20 · 478 阅读 · 0 评论 -
【BZOJ 1053】反素数
题目描述对于任何正整数 xxx,其约数的个数记作 g(x)g(x)g(x)。例如 g(1)=1g(1)=1g(1)=1,g(6)=4g(6)=4g(6)=4。如果某个正整数 xxx 满足:对于任意的 0<i<x0<i<x0g(x)>g(i)g(x)>g(i)g(x)>g(i),则称 xxx 为反质数。例如,整数 1,2,4,61,2,4,61,2,4,6...原创 2018-07-27 18:28:26 · 288 阅读 · 0 评论 -
【BZOJ 1257】余数之和
题目描述给出正整数 nnn 和 kkk,计算 (kmod1)+(kmod2)+(kmod3)+…+(kmodn)(kmod1)+(kmod2)+(kmod3)+…+(kmodn)(k\mod1)+(k\mod2)+(k\mod3)+…+(k\mod n) 的值。1≤n,k≤1091≤n,k≤1091≤n,k≤10^9。算法分析将取模运算变换形式:kmodi=k−⌊ki⌋×ikmod...原创 2018-07-27 19:19:52 · 308 阅读 · 0 评论 -
【ZJOI 2006】三色二叉树
树形DP原创 2018-08-05 22:30:16 · 366 阅读 · 0 评论 -
【POJ 1151】Atlantis
离散化+扫描线+线段树计算矩形的面积并。原创 2018-08-01 13:49:50 · 251 阅读 · 0 评论 -
【POJ 2279】Mr. Young's Picture Permutations
有 1~N 共 N 个数字,让你排成 k 排,要求第 i 排有 Ai 个数字,同时满足每排上的数字单调递增,每列上的数字单调递增,求合法的方案数。N≤30,k≤5。原创 2018-08-06 18:03:38 · 296 阅读 · 0 评论 -
【CH 5101】LCIS
求两个长度为 n 的序列 A 和 B 的最长公共上升子序列的长度。n≤3000。原创 2018-08-06 20:34:19 · 410 阅读 · 0 评论 -
【POJ 3666】Making the Grade
给定一个长度为 n 的序列 A,要求构造一个单调不上升或单调不下降的序列 B 使得 ∑|ai-bi| 的值最小,输出这个最小值。1≤n≤2000。原创 2018-08-06 21:13:38 · 267 阅读 · 0 评论 -
【POJ 2482】Stars in Your Window
平面上有 n 个点,每个点 (x,y) 有一个权值 c,计算用长为 w,宽为 h 的矩形所能覆盖点的最大权值和。原创 2018-08-02 14:13:59 · 254 阅读 · 0 评论 -
【CH 3101】阶乘分解
题目描述给定整数 N(1≤N≤106)N(1≤N≤106)N(1≤N≤10^6),试把阶乘 N!N!N! 分解质因数,按照算术基本定理的形式输出分解结果中的 pipip_i 和 cicic_i 即可。算法分析一个一个分解显然不可行,我们考虑对于每个质数,计算它在 1×2×...×N1×2×...×N1\times2\times...\times N 中每个数分解质因数后对应的指数和...原创 2018-07-27 11:11:58 · 1120 阅读 · 0 评论 -
【POJ 2689】Prime Distance
题目描述给定两个整数 L,U(1≤L≤U≤231,U−L≤106)L,U(1≤L≤U≤231,U−L≤106)L,U(1≤L≤U≤2^{31},U-L≤10^6),求闭区间 [L,U][L,U][L,U] 中相邻两个质数的差最大是多少,最小是多少,输出对应的质数。算法分析首先使用线性筛筛出所有在 [2,⌊U‾‾√⌋][2,⌊U⌋][2,\lfloor\sqrt U\rfloor] ...原创 2018-07-27 10:14:05 · 197 阅读 · 0 评论 -
【POJ 3696】The Luckiest Number
求至少多少个 8 连在一起组成的数是 l 的倍数。原创 2018-08-03 18:05:46 · 417 阅读 · 0 评论 -
Codeforces 进阶计划:从 Specialist 到 Expert
训练计划:做 Codeforces Round (Div. 3)、Codeforces Round (Div. 3) 和 Educational Codeforces Round 通过人数少于 1000 人的题目。 目前做了 3 题。Codeforces Round #490 (Div. 3)D. Equalize the Remainders 给定两个整数 n,mn,...原创 2018-06-26 12:13:18 · 772 阅读 · 1 评论 -
【POJ 1733】Parity game
题目描述有一个长度为 N(N≤109)N(N≤109)N(N≤10^9) 的 010101 序列,共给你 M(M≤10000)M(M≤10000)M(M≤10000) 条信息,每条信息给出 [l,r][l,r][l,r] 中 111 的个数的奇偶性,但只有前 kkk 条信息是正确的,请输出 kkk 的值。算法分析将信息拆成前缀和的形式,即 sumr−suml−1sumr−suml−...原创 2018-07-28 14:35:43 · 292 阅读 · 0 评论 -
【POJ 2182】Lost Cows
题目描述有 n(n≤8000)n(n≤8000)n(n≤8000) 头奶牛,它们的身高为 1~n1~n1~n 的一种全排列,已知第 2~n2~n2~n 头牛比它矮的牛的数量为给定的数组 AAA,求每头牛的身高。算法分析比第 nnn 头牛矮的牛的数量为 aaa,那么它的身高为 a+1a+1a+1,由此倒序枚举。用树状数组维护每种身高的使用情况,在树状数组上二分即可求出每头牛的具体...原创 2018-07-28 17:42:06 · 281 阅读 · 0 评论 -
【CH 0102】64 位整数乘法
题目描述求 aaa 乘 bbb 对 ppp 取模的值,其中 1≤a,b,p≤10181≤a,b,p≤10181≤a,b,p≤10^{18}。算法分析【算法一】快速乘 仿照矩阵快速幂,b=c0×20+c1×21+...+ck×2kb=c0×20+c1×21+...+ck×2kb=c_0\times2^0+c_1\times2^1+...+c_k\times2^k,将 a×ba×ba\t...原创 2018-07-26 10:00:10 · 389 阅读 · 0 评论 -
【POJ 1985】Strange Tower of Hanoi
题目描述解出 nnn 个盘子 444 座塔的 HanoiHanoiHanoi(汉诺塔)问题最少需要多少步?算法分析回顾一下 333 座塔的汉诺塔问题:f[n]=2f[n−1]+1f[n]=2f[n−1]+1f[n]=2f[n-1]+1。先将 n−1n−1n-1 个盘子从 AAA 柱移动到 BBB 柱,再将第 nnn 个盘子从 AAA 柱移到 CCC 柱,最后再将 n−1n−1n...原创 2018-07-26 10:01:35 · 217 阅读 · 0 评论 -
【CH 3201】Hankson的趣味题
题目描述已知正整数 a0,a1,b0,b1a0,a1,b0,b1a_0,a_1,b_0,b_1,设某未知正整数 xxx 满足:1、xxx 和 a0a0a_0 的最大公约数是 a1a1a_12、xxx 和 b0b0b_0 的最小公倍数是 b1b1b_1请求解满足条件的 xxx 的个数。算法分析xxx 一定是 b1b1b_1 的约数,则 b1b1b_1 分解质因数的结果一定...原创 2018-07-29 10:12:05 · 373 阅读 · 0 评论 -
【POJ 3090】Visible Lattice Points
题目描述一个 n×n(1≤n≤1000)n×n(1≤n≤1000)n\times n(1≤n≤1000) 的平面直角坐标系,输出从原点向第一象限看去,能够看到多少个钉子。算法分析对于一个点 (x,y)(x,y)(x,y),它能够被看到仅当 gcd(x,y)=1gcd(x,y)=1gcd(x,y)=1。将平面直角坐标系分成左上和右下两部分,由于两部分能看到的钉子个数相同,我们选择...原创 2018-07-29 11:21:31 · 249 阅读 · 0 评论 -
【POJ 3263】Tallest Cow
题目描述有 NNN 头牛站成一行。两头牛能够相互看见,当且仅当它们中间的牛身高都比它们矮。现在,我们只知道其中最高的牛是第 III 头,它的身高是 HHH,不知道剩余 N−1N−1N-1 头牛的身高,但是,我们还知道 RRR 对关系,每对关系都指明了某两头牛 AiAiA_i 和 BiBiB_i 可以相互看见。求每头牛的身高最大可能是多少。1≤N,R≤1041≤N,R≤1041≤N,R≤10^4...原创 2018-07-26 10:26:08 · 339 阅读 · 0 评论 -
【POJ 1845】Sumdiv
题目描述求 ABABA^B 的所有约数之和 mod9901mod9901\mod 9901。1≤A,B≤5×1071≤A,B≤5×1071≤A,B≤5\times10^7。算法分析将 AAA 分解质因数得 A=pc00pc11...PcnnA=p0c0p1c1...PncnA=p_0^{c_0}p_1^{c_1}...P_n^{c_n},则 AB=pc0B0pc1B1...PcnB...原创 2018-07-26 12:14:41 · 192 阅读 · 0 评论 -
【POJ 3889】Fractal Streets
题目描述请求出一个等级为 nnn 的分形图中,编号为 SSS 的格子到编号为 DDD 的格子的直线距离。城市的规划在城市建设中是个大问题。不幸的是,很多城市在开始建设的时候并没有很 好的规划,城市规模扩大之后规划不合理的问题就开始显现。而这座名为 Fractal 的城市设想了这样的一个规划方案,如下图所示: 当城区规模扩大之后,Fractal 的解决方案是把和原来城区结构一样的区域...原创 2018-07-26 15:40:39 · 717 阅读 · 1 评论 -
【POJ 2018】Best Cow Fences
题目描述求一个长度为 NNN 的序列中长度不超过 FFF 的子段,使得这个子段的平均值最大,输出这个平均值的 100010001000 倍。算法分析最大化平均值,二分答案,将序列中的每个元素减去当前判断的平均值,则当前判断的结果就是是否存在一个新序列中的子段,使得这个子段的和不小于 000。将子段拆成前缀和的形式,枚举右端点,由于可选范围递增,再维护一个变量用来储存当前可选范围...原创 2018-07-26 16:42:34 · 405 阅读 · 1 评论 -
【HEOI 2015】兔子与樱花
有一棵 n 个节点组成的有根树,根节点是编号为 0 的节点,每个节点有一个权值,这棵树必须保证每个节点上的权值与其子节点的个数之和均不超过 m。你可以选择将一个节点删除,一个节点删除后其子节点全部变为其父节点的子节点,且该节点的权值也累加进其父节点中,求最多能删除多少个节点。n≤2000000。原创 2018-08-08 22:59:20 · 520 阅读 · 0 评论