02 2021 档案

摘要:题目链接 题意分析 对于这道题 能留下大的尽量留下大的 我们以n为根 根是必选的 然后从大到小 如果当前点i未被留下 并且留下i到根n的所有点不会超过n-k 那么就全部留下 对于判断的话 由于一个点i被留下 那么i的祖先节点也会被留下 所以对于未被留下的点 我们使用倍增确定i往上最近的未被留下的点 阅读全文
posted @ 2021-02-27 21:23 tcswuzb 阅读(81) 评论(0) 推荐(0)
摘要:题目链接 题意分析 求解最长路径的问题 我们可以使用DP 但是这里求GCD比较恶心 我们可以转换思路 gcd(x,y)≠1 说明x,y之间必然存在公共质因子 那么我们可以通过枚举质因子代替gcd 由于2×3×5×7×11×13×17×19=9699690>200000 所以枚举质因子对于复杂度几乎无 阅读全文
posted @ 2021-02-27 21:14 tcswuzb 阅读(101) 评论(0) 推荐(0)
摘要:写在卸载之前 其实C++这门计算机语言目前只能说会也就是入门 但是不能说精通 所以最近会学一些东西然后不定期整理上去 允许我夹带一波私货 正式开始 一.oct,hex,dec ta们伴随cout分别输出八进制,十六进制,十进制 #include<bits/stdc++.h> using namesp 阅读全文
posted @ 2021-02-23 19:30 tcswuzb 阅读(147) 评论(0) 推荐(1)
摘要:题目链接 题意分析 由于这道题的话 答案是单调的 所以我们用二分答案求解 对于相邻的两个串$S_i$以及$S_{i+1}$ 如果$|S_i|\(<\)|S_{i+1}|$ 那么$S_{i+1}$就是$S_i$后接a 如果$|S_i|\(>\)|S_{i+1}|$ 我们考虑先删除$S_i$后$|S_i 阅读全文
posted @ 2021-02-21 11:34 tcswuzb 阅读(78) 评论(0) 推荐(0)
摘要:题目链接 题意分析 详细可以参考刘汝佳的《算法竞赛入门经典》(蓝皮书) 首先 可以透过的一定不存在立方体 其次如果一个立方体存在至少两个面确定颜色不一样的话 也是不存在的 存在这样情况的话 我们就一直删除 知道再也删不了为止 CODE: #include<bits/stdc++.h> #define 阅读全文
posted @ 2021-02-19 17:38 tcswuzb 阅读(62) 评论(0) 推荐(0)
摘要:题目链接 题意分析 一看题意还有数据范围就是知道是数位DP 我们考虑一个数x被整除他所有非零位的数字 等于被整除所有非零位数字的最小公倍数 由于{1,2,3,4,5,6,7,8,9}的最小公倍数是2520 所以我们维护三个状态[i][j][k]表示第i位且对应%2520=j 最小公倍数是k的方案数 阅读全文
posted @ 2021-02-18 19:46 tcswuzb 阅读(97) 评论(0) 推荐(0)
摘要:题目链接 题意分析 由于这道题只涉及了二进制运算中的按位与运算 这种情况一般都是对于每一位进行方案统计 由于是方案统计 所以我们可以使用dp计数 首先 对于一个限制(li,ri,xi) 如果对于一位p(0≤p<k) xi在这一位是1 那么序列a在这一位满足[li,ri]均为1 xi在这一位是0 那么 阅读全文
posted @ 2021-02-18 14:38 tcswuzb 阅读(50) 评论(0) 推荐(0)
摘要:写在卸载之前 表明参考出处一位dalao 正式开始 对于一道题分析 可以使用线段树进行区间覆盖 但是这里的话一位大佬提出使用并查集想法 首先 我们固定左端点 然后 不断移动右端点 当然 朴素的写肯定会挂 我们发现 每一次朴素移动的话浪费时间就是因为已被删除元素被重复删除 所以我们使用并查集来维护这个 阅读全文
posted @ 2021-02-17 21:38 tcswuzb 阅读(140) 评论(0) 推荐(0)
摘要:题目链接 B 按照monster的攻击力排序 由于存在同归于尽也算成功 所以我们需要讲攻击力最大的monster放在最后 保证同归于尽的这一次效率最大 CODE: #include<bits/stdc++.h> #define M 1008611 using namespace std; int T 阅读全文
posted @ 2021-02-13 22:59 tcswuzb 阅读(136) 评论(0) 推荐(0)
摘要:题目链接 题意分析 做这道题的时候一定要明白 你所负责的是运输 安装是原住民的事情 是可以同时运输+多个安装 我们设置dp[x] 表示走完以x为根的子树 并且所有人都安装完之后的最大时间 设置time[x] 表示走完以x为根的子树所用的时间 那么当前的转移就是 其中y是x的儿子 sum表示走完y之前 阅读全文
posted @ 2021-02-10 20:06 tcswuzb 阅读(60) 评论(0) 推荐(0)
摘要:题目链接 题意分析 计数问题跑DP 这是常识原谅我第一时间没有想出来 我们用dp[i]表示搭乘第i辆车下车的方案数 最终的答案 就是把所有终点站ti=n的车下车的方案数累加 现在考虑怎么转移 我们先把所有车按照终点站排序 对于第i辆车 查找哪些车会停在[si,ti-1] 将这些车的方案累加到dp[i 阅读全文
posted @ 2021-02-07 22:16 tcswuzb 阅读(81) 评论(0) 推荐(0)
摘要:题目链接 题意分析 位运算 我们一看就是要对于每一位考虑 对于按位与 a&b 如果对于b的修改超过了a的最高位 那么对于a&b的结果不会有任何影响 我们假设一开始s是0 每变动一位 ta与这一位是1的数的按位与的结果上1的个数的奇偶性就会发生改变 奇偶性改变 对应的正负性也会改变 我们从低位到高位讨 阅读全文
posted @ 2021-02-07 16:42 tcswuzb 阅读(81) 评论(0) 推荐(0)
摘要:题目链接 题意分析 由于题目要求没有说一块特定的石头上必须要到一个特定的位置 而是要求每一个位置上有石头就行 所以我们把石头的原始位置与目标位置排序 这样也保证了石头之间的移动轨迹互不交叉 存在方案 必须满足如下两个条件 1.石头向左移动的总距离和向右移动的总距离必须相等 2.我们从左往右扫的时候 阅读全文
posted @ 2021-02-07 16:30 tcswuzb 阅读(86) 评论(0) 推荐(0)
摘要:题目链接 题意分析 我们考虑从1到n不断进行维护 同时令mid=n/2 接下来我们讨论如何交换x,y这两个位置上的数 1.1≤x≤mid,mid<y≤n 1 x mid y n 使用两次交换 1-y x-n y n mid 1 x 使用一次交换 x-y x n mid 1 y 使用两次交换 1-x 阅读全文
posted @ 2021-02-07 16:12 tcswuzb 阅读(85) 评论(0) 推荐(0)
摘要:题目链接 题意分析 考试的时候从这道题开始就一直在死 我们从0到k枚举第一批航班取消多少个 根据贪心取消的肯定都是最靠前的航班 同时维护一个指针用于维护第一批航班中没有取消的最早到达的第二批航班中的时间 看看从ta开始取消之后还能否到达第二批航班 不能的话就输出-1 能的话就就将其同当前维护的答案比 阅读全文
posted @ 2021-02-07 15:50 tcswuzb 阅读(63) 评论(0) 推荐(0)
摘要:题目链接 题意分析 我们考虑一下 对于一个最简分数$\frac$ 在$k$进制下可以表示为纯循环小数 设其循环节长度为$l$ 同时令$[x]$表示x的小数部分 那么 \([\frac{x}{y}]=[\frac{xk^l}{y}]\) 也就是 \(\frac{x}{y}-\lfloor\frac{x 阅读全文
posted @ 2021-02-05 17:40 tcswuzb 阅读(127) 评论(0) 推荐(1)
摘要:【题目链接】 题意分析 \(\sum_{i=1}^n\sum_{j=1}^n(ijgcd(i,j))=\sum_{i=1}^n\sum_{j=1}^n\sum_{d=1}^n(dij)[gcd(i,j)=d]=\sum_{d=1}^nd^3\sum_{i=1}^{\lfloor\frac{n}{d} 阅读全文
posted @ 2021-02-05 15:12 tcswuzb 阅读(74) 评论(0) 推荐(0)
摘要:写在卸载之前 一个蒟蒻无力的挣扎 正式开始 【安利一个不错的博客】 我们有一个积性函数$f(n)$ 现在求 \(\sum_{i=1}^nf(i)\ \ (n≤10^9)\) 求解积性函数 我们很容易想到线性筛 但是这道题的话只用线性筛过不了 所以 就有了一个叫做杜教筛的东西 根据迪利克雷卷积 \(h 阅读全文
posted @ 2021-02-05 14:26 tcswuzb 阅读(165) 评论(0) 推荐(0)
摘要:题目链接 题意分析 \(\sum_{i=1}^nx\%i=\sum_{i=1}^n(x-\lfloor\frac{x}{i}\rfloor i)=nx-\sum_{i=1}^n\lfloor\frac{x}{i}\rfloor i\) 想到了整除分块 这样的话复杂度$O(n\sqrt)$ 但是由于$ 阅读全文
posted @ 2021-02-04 14:39 tcswuzb 阅读(78) 评论(0) 推荐(0)
摘要:题目链接 题意分析 这道题就是要你推式子主要是俺也不懂什么高斯素数 对于 \(x^2+y^2=r^2\) 我们转化为 \(y^2=r^2-x^2=(r+x)(r-x)=dx*dy\ \ \ (x⊥y)\) 由于$x⊥y$ 那么我们一定可以转化为如下形式 令$x=s2\ \ \ y=t2$ \(y^2 阅读全文
posted @ 2021-02-04 13:31 tcswuzb 阅读(92) 评论(0) 推荐(0)
摘要:题目链接 题意分析 一个图是二分图的充要条件:该图中不存在奇环 由于奇偶性的关系 复杂奇环的产生一定源于简单奇环 所以我们仅仅考虑删去一条边使得所有简单奇环被破坏 也就说 我们仅仅考虑简单环 首先 我们从这张图中拽出一个生成树 然后 对于非树边 如果加上去的话 必然会产生一个环 我们需要统计会产生奇 阅读全文
posted @ 2021-02-03 13:37 tcswuzb 阅读(100) 评论(0) 推荐(0)
摘要:题目链接 题意分析 这道题正解好像是折半状压 但是俺就是喜欢模拟退火 每一次随机的话 就是交换两个数的位置 然后比较前一半和后一半 CODE: #include<bits/stdc++.h> #define INF 0x7fffffff #define N 2010 using namespace 阅读全文
posted @ 2021-02-02 20:07 tcswuzb 阅读(73) 评论(0) 推荐(0)
摘要:题目链接 题意分析 这道题正解是啥我不清楚 我只是来联系一下模拟退火 关于模拟退火要注意的几点 1.初始温度$T$ 以及每一次降温的比例$ΔT$ 2.如果当前可以取代最优解的话 就取代 否则的话 就按照多项式复杂度$e^{\frac{Δf}}\(同\)\frac{rand()}$比较 大于的话 我们 阅读全文
posted @ 2021-02-02 19:03 tcswuzb 阅读(88) 评论(0) 推荐(0)
摘要:题目链接 题意分析 首先 这是一道数学题 给你一个三角形 求出一个面积最小的正多边形 使得这个三角形的三个点都与其多边形点重合 如果你学过高中数学的话 应该明白 这个三角形与这个多边形共用一个外接圆 先求出三角形三边长$a,b,c$ 然后通过海伦公式求出面积$S_=\sqrt{p(p-a)(p-b) 阅读全文
posted @ 2021-02-02 15:45 tcswuzb 阅读(98) 评论(0) 推荐(0)
摘要:题目链接 题意分析 其实关于这道题的话 最下面的题意概括已经说的很明了 关于这道题 我们的第一想法是DP $f_i$表示已经分好了前$i$个数字的最小代价 我们枚举k作为一段$[k,j]$的开头进行转移 \(f_i=min\{f_{k-1}+\max_{j=k}^ih_j\}(\sum_{j=k}^ 阅读全文
posted @ 2021-02-02 11:47 tcswuzb 阅读(119) 评论(0) 推荐(0)
摘要:题目链接 题意分析 这是一道花了一晚上+上午两个小时+下午两个小时干出来的题 真心不容易 首先 一看这道题的题面 对于多组询问求解第k小 就让人想到了整体二分 但是我们需要处理一个棘手的问题 怎么判断一条路径 u→v 被另外一条路径 x→y 覆盖呢? 这个我们我们可以使用dfs序解决 这里我们令df 阅读全文
posted @ 2021-02-01 18:00 tcswuzb 阅读(124) 评论(0) 推荐(0)