题解311e abc

[ABC335*] 题解

A 末位改成 '4'。 B dfs。 C 记录每个时刻龙头的位置,查表。 D 将龙盘起来即可。 E 每个点记录 \(1\) 到她的答案 \(f_i\)。 每种值同时转移,每个值相同连通块的 \(f\) 全赋为块内 \(\max f\),然后枚举出边转移到值更大的点。 F 根号分治,典。 G 想到离散 ......
题解 ABC 335

ABC335E 题解

闲话: 赛时想了半天都没有想出来,赛后看了一下非递减才想出来 题意 我们要求一个从 \(1\) 到 \(n\) 的路径,这个路径上点的点权组合成一个数列,这个数列得是非递减的,求这个数列不同整数个数。 分析 很明显,我们要求出一个非递减的路径,那么舍弃掉 \(a_u > a_v\) 的边,因为这些边 ......
题解 335E ABC 335

ABC335

输 E 对于 \((u,v)\): 若 \(a_u = a_v\),则把 \(u\) 和 \(v\) 扔到同一个并查集里 否则连接两个点 然后跑一遍 dp 即可。 code ......
ABC 335

ABC335F根号分治做法

题意翻译: 有 \(N\) 个格子。 你初始在格子 \(1\)。 格子 \(1\) 是染黑的,其他的格子都是白的。 当你在格子 \(i\) 的时候,你可以到达 \(a_i\times x+i,x>0\) 或将该格子染黑。 求所有格子的状态有多少种情况。 首先我们来考虑一下不加优化的 dp。 对于任意 ......
根号 做法 335F ABC 335

ABC335 C - Loong Tracking

ABC335 C - Loong Tracking \(\mathtt{TAG}\): STL,模拟 \(\mathtt{APPRAIS}\):STL の 巧用 前置知识 deque 可以下表 \(O(1)\) 访问。 deque 可以删除队尾队首元素,在队尾队首插入元素。 First. 修改 设 ......
Tracking Loong ABC 335

AT_abc335_a 题解

直接对于输入的字符串进行操作就好了,需要注意的是 string 类型的最后一位是 a.size()-1 而不是 a.size()。 #include<bits/stdc++.h> using namespace std; int main(){ string a; cin>>a; a[a.size( ......
题解 AT_abc 335 abc AT

AT_abc335_b 题解

样是一道水题, \(N \le 21\)? 这么小的数据还在等什么,直接三重循环暴力枚举即可通过此题。 #include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; for(int i=0;i<=n;i++){ for ......
题解 AT_abc 335 abc AT

3.【题解】地精部落

题解\(^2\) 阿巴阿巴阿巴…… 看题解后 抖动序列就是一大一小交替循环的序列。 若 \(\large x\) 与 \(\large x+1\) 不相邻( \(\large x\) 为山峰高度),则交换 \(\large x\) 与 \(\large x+1\) 后依旧是抖动序列。所以 $$\La ......
题解 部落

4.【题解】古代猪文

题解 %%% 其实就是个板子( \(exlucas\) )。 一开始以为直接用 \(lucas\) 就可以过了,但是显然不是这样的。这道题需要用到欧拉定理和 \(exlucas\) ( \(lucas+crt\) )。 首先质数 \(999911659\) 的欧拉函数是 \(999911658\) ......
题解

5.【题解】Same GCDs

题解 思路 计算有多少个 \(x(0\leq x<m)\) 使得 \(\gcd(a,m)=\gcd(a+x,m)\) 事实上就是求有多少个 \(x(1\leq x\leq m)\) 使得 \(\gcd(x,m)=\gcd(a,m)\) 所以可以将 \(m\) 除以 \(\gcd(a,m)\) ,于是 ......
题解 Same GCDs

P2308题解

题意简述 其实就是每次将相邻两个数替换为它们的和,代价为两个数的和,直到只剩一个数,求最小代价和以及操作方式。 思维路径 我们可以先求出最小代价,很明显可以用 dp 来做。定义 \(f_{i,j}\) 为合并第 \(i\) 个数和第 \(j\) 个数的最小代价,\(s_i\) 表示前 \(i\) 个 ......
题解 P2308 2308

P3795题解

思维路径 根据映射,我们可以发现数字的规律必定是两两互换,即若 \(f_a\) 是 \(b\) ,那么 \(f_b\) 一定是 \(a\) 。 我们可以通过手算 \(1\) 到 \(4\) 的数据,观察规律。 观察第 \(4\) 行的数据。 以 \(1\) 为始的数据后面跟的三个数据正好与第三行的顺 ......
题解 P3795 3795

P3133题解

题意简述 给定两个点(即 FJ 和 Bessie)和两条路径,让这两个点沿着路径移动,求每移动一次的能量总和。 思维路径 典型的动态规划题,我们设计状态,设 \(f_{i,j}\) 表示 FJ 走到第 \(i\) 个点,Bessie 走到第 \(j\) 个点最少的能量总和。 因为他们两个都可以在某一 ......
题解 P3133 3133

P6591 题解

题意简述 给出一棵无根树,求以那些节点为根时,与它直接相连的节点,它们的子树大小都相同。 思维路径 首先,显而易见的是,在 \(1 \le n \le 10^6\) 的数据范围下,我们不可能通过对每个节点作为根判断一次。因此,我们考虑选取一个节点为根计算全部。 我们作图来分析一下。 如上图,我们针对 ......
题解 P6591 6591

CF1146B 题解

题目简述 给定一个字符串 \(t\),由一个字符串 \(s\) 和这个字符串去掉所有 a 组成。求字符串 \(s\)。 思路 首先我们分析给定的字符串 \(t\),它由 \(s\) 和 \(s\) 去掉所有 a 形成的字符串 \(s'\) 组成。那么当整个字符串 \(t\) 去掉 a 后,就得到了 ......
题解 1146B 1146 CF

CF1068A 题解

其实很简单的一道题。 思维路径 其实题目主要要考虑的就是以下三个条件。 每个人都要送一样多的硬币。 每个硬币都必须是不同的。 所有人送的硬币至少有 \(L\) 个是 Ivan 没有的。 我们一个一个来看。 每个人都要送一样多的硬币。 一共有 \(M\) 个朋友,所以说总共送的硬币的个数为 \(M\) ......
题解 1068A 1068 CF

CF940F Machine Learning题解

题目链接:洛谷 或者 CF 不是特别难的题,抽象下题意就是算区间次数出现的次数 mex 和带单点修改。看到范围 \(1e5\) 还带修改,传统的 mex 求法里貌似就莫队类算法好带修,考虑带修莫队。 然而涉及到 mex 问题,你可能不由自主地想到回滚莫队求 mex 只删不加的板子题:P4137 Rm ......
题解 Learning Machine 940F 940

CF940FMachine Learning题解

题目链接:洛谷 或者 CF 不是特别难的题,抽象下题意就是算区间次数出现的次数 mex 和带单点修改。看到范围 \(1e5\) 还带修改,传统的 mex 求法里貌似就莫队类算法好带修,考虑带修莫队。 然而涉及到 mex 问题,你可能不由自主地想到回滚莫队求 mex 只删不加的板子题:P4137 Rm ......
题解 FMachine Learning 940 CF

「杂题乱刷」AT_abc008_3

题目传送门(at) 题目传送门(luogu) 简单期望。 算法一: 枚举全排列,时间复杂度 \(O(n!)\)。 算法二: 分别求出每一个硬币的期望。为 \((sum/2+1)/(sum+1)\),\(sum\) 为已经翻面的硬币个数,时间复杂度 \(O(n^2)\),可以通过此题。 参考代码: 点 ......
AT_abc 008 abc AT

「杂题乱刷」AT_abc007_3

传送门(at) 传送门(luogu) 深搜 & 广搜的模板题。 这题深搜比较简单,只需要记忆化即可,我们来考虑一下广搜,实际上这题广搜的思路与记忆化差不多,开个结构体分别记录 \(x,y,minn\) 表示 \(x,y\) 坐标及到这个坐标的最小次数,容易证明每次搜到的一定就是这个坐标的最小值,时间 ......
AT_abc 007 abc AT

ABC271 复盘

ABC271 复盘 At 链接 LG 链接 [ABC271A] 484558 思路解析 根据小学学过的进制转换法可得,\(10\) 进制转换成 \(x\) 进制可以用 \(10\) 进制反复除 \(x^k\),其中 \(k\) 代表在 \(x\) 进制下的第 \(k\) 位,然后在每次除完后取余再反 ......
ABC 271

LOJ2294 银河英雄传说 题解

Question LOJ2294 银河英雄传说 Solution 算是带权并查集一个比较典的题目了 定义 \(d[x]\) 表示战舰 \(x\) 与 \(fa[x]\) 之间边的权值,在路径压缩把 \(x\) 的 \(fa[x]\) 修改为根节点时,把 \(d[x]\) 更新成从 \(x\) 到树根 ......
题解 英雄 传说 2294 LOJ

ABC320G Slot Strategy 2 (Hard)

ABC320G 直接做不是很好做,考虑用二分将其转化为判断可行性的问题。 发现每个字符串都会对应一个唯一的时间,每个时间最多也只对应一个字符串,这启发我们将字符串与时间连边,然后跑二分图的最大匹配。这样的总点数是 \(\mathcal{O}(nm)\) 的,无法通过。但是每一种字符中只有前 \(n\ ......
Strategy 320G Slot Hard ABC

CF1665E MinimizOR 题解

CF1665E 直接做不是很好下手,考虑找些性质。 有一个比较显然的贪心,就是按位从高到低的考虑,如果当前位至少有 \(2\) 个 \(0\),就可以去掉该位为 \(1\) 的数。但是时间上显然是不行的。 假如没有重复的数,可以发现扫到最后一位时,剩下的数的数量是 \(\log V\) 的,证明省去 ......
题解 MinimizOR 1665E 1665 CF

P8512 [Ynoi Easy Round 2021] TEST_152 题解

P8512 直接做不好做,考虑离线。这个覆盖操作和这道题很像,可以直接对某些段暴力修改,可以直接上 ODT。发现当 ODT 执行这些操作时,是容易求出不执行某些操作后带来的值的影响的,即可以直接用树状数组维护每个位置现在是被那个操作覆盖,求出 \(1\) 到 \(x\) 操作还覆盖了那些位置,以及这 ......
题解 P8512 Round 8512 2021

CF1870F Lazy Numbers 题解

CF1870F 题意:给一个长度为 \(n\) 的排列,求在其在 \(k\) 进制下按字典序排序后 \(\sum[p_i=i]\) 的值(\(n\le10^{18}\))。 直接做是不好办的,只能在一些数中找到 \(p_i\) 的大小关系。 在手摸的过程中会发现一些长度相等的数之间会插入一些其它长度 ......
题解 Numbers 1870F 1870 Lazy

P4700 [CEOI2011] Traffic 题解

P4700 简单的,但是考试的时候没看到是平面图,就只想到了缩点后 DAG 判断能到达哪些点。用 bitset 维护做到 \(\mathcal{O}(\frac{nm}{w})\) 的时空复杂度,但是空间会炸。 由于这个图是平面图,稍微推一下就可以知道所有能它最终所能到达的点一定是从西侧出发所能到达 ......
题解 Traffic P4700 4700 2011

P4657 [CEOI2017] Chase 题解

P4657 树形 dp。 首先,追逐者遇到的铁球的数量显然不会少于逃亡者遇到的铁球数量。 令 \(ss_i\) 表示与 \(i\) 相邻的点的权值之和。\(\mathcal{O}(n^2v)\) 的 dp 是很简单的。 令 \(dp_{i,j,0/1}\) 表示根节点到 \(i\) 的路径上,用了 ......
题解 P4657 Chase 4657 2017

P9715 「QFOI R1」头 题解

P9715 不一样的线段树做法。 假如只有 \(t=1\) 的操作是容易的。考虑加上 \(t=0\) 后怎么做。显然地,我们对每一个操作附上一个时间 \(tim\),不妨令 \(tim\) 小的数能覆盖掉 \(tim\) 大的数。这时候就只需要维护区间取 min 和最后的 \(n\) 次求 \(c\ ......
题解 P9715 9715 QFOI

P8386 [PA2021] Od deski do deski 题解

P8386 platelett 讲的题欸。 先考虑给定序列怎么做。 问题显然可以转化为能否将序列分成若干个子序列。令 \(f_i\) 表示前 \(i\) 个数是否能够删完。则有 \(f_i = f_j[a_i=a_j, f_j=1]\)。这样是 \(n^2\) 的,也无法扩展至所有数列的情况。 建立 ......
题解 deski P8386 8386 2021
共4300篇  :5/144页 首页上一页5下一页尾页