「THP3考前信心赛」解题报告】的更多相关文章

目录 写在前面&总结: T1 T2 T3 T4 写在前面&总结: \(LuckyBlock\) 良心出题人!暴力分给了 \(120pts\) \(T1\) 貌似是个结论题,最后知道怎么算了,用前缀和搞了两下,写挂了就很草,最后只能靠暴力拿了 \(30pts\) \(T2\) 显然数论题,但是我不会化简/kk,不过用前缀和优化了一下暴力 \(40pts\); \(T3\) 依旧暴力,\(O(n^2)\) 可拿 \(40pts\) \(T4\) 部分分 \(5pts\) \(+\) \(lps…
目录 写在前面 A 未来宇宙 B 空海澄澈 C 旧约酒馆 算法一 算法二 D 博物之志 算法一 算法二 算法三 写在前面 比赛地址:THP3 考前信心赛. 感谢原出题人的贡献:第一题 CF1422C,第四题 CF1422D. 所有题目背景均出自 <秘封俱乐部>系列专辑附带故事,感谢太田顺也先生的创造. 感谢 Kersen.xwmwr.Ypay.Rainycolor_Mahou 的鼎力相助. 超级亲民的一场,大片部分分,没有任何高级算法技巧,有一车大样例. A 未来宇宙 给定一长度为 \(n\)…
「ZJOI2016」解题报告 我大浙的省选题真是超级神仙--这套已经算是比较可做的了. 「ZJOI2016」旅行者 神仙分治题. 对于一个矩形,每次我们从最长边切开,最短边不会超过 \(\sqrt{n\times m}\),所以对于每个点跑一遍最短路就行了. 时间复杂度 \(O(n\sqrt{n}\log n+q\sqrt{n})\) \(Code\ Below:\) #include <bits/stdc++.h> #define id(i,j) (((i)-1)*m+(j)) using…
题面:#10471. 「2020-10-02 提高模拟赛」灌溉 (water) 假设只有一组询问,我们可以用二分求解:二分最大距离是多少,然后找到深度最大的结点,并且把它的\(k\)倍祖先的一整子树删掉,看一下一共要删几次,显然满足单调性. 现在要询问所有取值.上面二分的过程启发我们可以反过来,通过枚举答案,然后找到答案对应哪些询问.显然对于当前\(\text{ans}\),一次删除最少删掉\(ans+1\)个点,最多删\(\frac{n}{ans+1}\)次,因此是一个调和级数\(\frac{…
题面:#10470. 「2020-10-02 提高模拟赛」流水线 (line) 题目中的那么多区间的条件让人感觉极其难以维护,而且贪心的做法感觉大多都能 hack 掉,因此考虑寻找一些性质,然后再设计 DP 状态. 设两端区间\(Q_i\)和\(Q_j\)满足\(Q_i \subseteq Q_j\),那么显然\(Q_j\)要么单独一组,要么就和\(Q_i\)一组. 证明使用反证法,设\(Q_j\)与其他某些一组,那么我把\(Q_j\)放入\(Q_i\)那一组,显然两组的答案都不会变少. 因此我…
qwq听说是一场普及组难度的比赛,所以我就兴高采烈地过来了qwq 然后发现题目确实不难qwq.....但是因为蒟蒻我太蒻了,考的还是很差啦qwq orz那些AK的dalao们qwq 赛后闲来无事,弄一篇解题报告好了qwq T1 无序组数 和数学相关的一个题目吧,因为题目的数据范围很小,所以可以先预处理出每个数的约数个数(包括1和它本身) 然后下面自然是\(sum[a]*sum[b]\)减去重复的了qwq 然后重复的话自然是最大公约数的因数个数组合,因为不能重复,那么就是\(sum[gcd(a,b…
题1 国际象棋(chess) [问题描述] 有N个人要参加国际象棋比赛,该比赛要进行K场对弈.每个人最多参加2场对弈,最少参加0场对弈.每个人都有一个与其他人都不相同的等级(用一个正整数来表示).在对弈中,等级高的人必须用黑色的棋子,等级低的人必须用白色的棋子.每一个人最多只能用一次黑色的棋子和一次白色的棋子.为了增加比赛的可观度,观众希望K场对弈中双方的等级差的总和最小. 比如有7个选手,他们的等级分别是30; ; ; ; ; ; ,要进行3场比赛.最好的安排是Player vs Player…
beautiful 2.1 题目描述 一个长度为 n 的序列,对于每个位置 i 的数 ai 都有一个优美值,其定义是:找到序列中最 长的一段 [l, r],满足 l ≤ i ≤ r,且 [l, r] 中位数为 ai(我们比较序列中两个位置的数的大小时, 以数值为第一关键字,下标为第二关键字比较.这样的话 [l, r] 的长度只有可能是奇数),r - l + 1 就是 i 的优美值. 接下来有 Q 个询问,每个询问 [l, r] 表示查询区间 [l, r] 内优美值的最大值.2.2 输入 第一行输…
1. 公约数(gcd) [问题描述] 给定一个正整数,在[,n]的范围内,求出有多少个无序数对(a,b)满足 gcd(a,b)=a xor b. [输入格式] 输入共一行,一个正整数n. [输出格式] 输出共一行,一个正整数表示答案. [输入输出样例] gcd .in gcd .out 解释:只有(,)满足要求 [数据范围] 对于30%的数据满足n<= 对于60%的数据满足n<=^ 对于100%的数据满足n<=^ 题目 tag:数学 思路:就一个等式,gcd(a,b)==d==a^b,我…
题1  素数 [问题描述] 给定一个正整数N,询问1到N中有多少个素数. [输入格式]primenum.in 一个正整数N. [输出格式]primenum.out 一个数Ans,表示1到N中有多少个素数. [输入样例] [输出样例] [数据规模] % N<= % N<= % N<= 题目 tag:数学  思路:裸欧拉筛,注意漏判断条件导致数组越界. #include<cstdio> #include<iostream> #include<cstring>…