iOS
Unusual Minesweeper 题解
题目大意 给你 (n) 个炸弹,第 (i) 个炸弹在 ((x_i,y_i)) 的位置,可以将这一行与这一列的距离小于 (k) 的其他所有炸弹引爆,而且连锁的引爆不需要时间。每一秒你可以引爆一个炸弹,其中第 (0) 秒也可以引爆,并且第 (i) 个炸弹在第 (timer_i) 的时候会自己爆炸。要求输出引爆所有炸弹的最小时间。 其中 (1le n le 2times 10^5,0le k le 10
[ABC243C] Collision 2 的题解
题目大意 给你 (n(2le nle 2times 10^5)) 个,第 (i) 个点在第 (x_i) 行从 (y_i) 开始向 (s_i) 一直移动,判断是否会有点在运动时与其他点重合。 思路 因为每一个点只会在 (y_i) 行移动,所以每一行都是单独的,可以分开讨论。 将 (y_i) 行的所有的 (x_i) 与 (s_i) 放到一个数组里,接着将他们按照 (x_i) 排序。 对于每一行,一次遍
[AGC018B] Sports Festival
题目大意 有 (n) 个人 (m) 个活动,告诉你每一个人对于活动喜欢程度的排序,你可以鸽掉一些活动。如果一个最喜欢的活动被鸽了,那么他就会参加次喜欢的,依次类推直到参加为止。 求参加人数最多的那个项目,参加人数最少是多少。 思路 做法: 首先模拟出每一个活动的参加人数,依次将人数最多的活动鸽掉,一遍鸽一遍统计最小值。 理由: 假设你已经鸽掉了一些活动,你么现在总能找到一个参加人数最多的项目,假设
[CF226B] Naughty Stone Piles 题解
题目大意 就是普通的石子合并,但是添加了限制条件:每一堆石子合并的次数不能超过 (k) 次。 思路 对于普通的石子合并,将除了最大的石子外的所有的石子全部合并到最大的石子上肯定是最优的。 证明: 假设石子的重量为 (a_1,a_2,a_3,cdots ,a_{n+1},a_n),且满足对于 (iin [1,n-1]),(a_ile a_{i+1})。假设我们要将 (x,y,z) 三堆石子合并,那
[ARC115B] Plus Matrix 的题解
题目大意 给你一个 (ntimes n) 的数组 (C),(c_{i,j}=a_i+b_j),求 (a) 数组与 (b) 数组,不保证有解,其中 (1le nle 500,1le c_{i,j}le 10^9),而且 (a_i,b_i) 都是非负整数。 [begin{bmatrix} a_1+b_1&a_1+b_2&cdots&a_1+b_{n-1}&a_1+b_n
[CF749C] Voting
题目大意 给定一个字符串,字符串中字符为 (texttt{D}) 或 (texttt{R}),代表两个团队。从 (1) 开始,每个人都有发言的权利,发言时,可以禁言一个人,使那个人以后都不能发言。 如果一圈发言完还有1个以上的人能发言,就从 (1) 重新开始,直到只有 (1) 个人能发言,那个人所在的团队获胜。 思路 当一个人发言时,他应该将另外一队在他后面发言中最靠近他的人禁言。 因为一旦另外一
[CF1658D1] 388535 (Easy Version) 的题解
题目大意 给定 (l,r) 和一个长为 (r−l+1) 的所有数都不相等的序列 (a)。请你找到任意一个数 (x) 满足序列 (a) 中的所有数异或上 (x) 后正好为 ([l,l+1,cdots,r−1,r]) 的一个排列。 (t) 组数据,(1leqslant tleqslant 10^5)。 (color{red}{0=l}color{black}leqslant r,a_i<2^{
[CF1511D] Min Cost String 的题解
题目大意 现在需要使用从小写字母 (a) 开始的 (k) 种字符,构造一个长度为 (n) 的字符串 (s),使满足 (i,jin[1,n-1],ineq j) 且 (a_i=a_j,a_{i+1}=a_{j+1}) 的数对的数量最少。 其中 (1le n le 2times 10^5,1le k le 26)。 思路 在使用 (k) 总字符的情况下,可以构造长度为 (2) 的字符串的种类为 (op
[CF1941D] Rudolf and the Ball Game 的题解
题目大意 有 (n) 个人投球,投了 (m) 次。第 (i) 次投球时想左、右或者随便一个方向投掷 (r_i) 个人。从第 (x) 个人开始投球,询问最后球在最后有可能在谁的手里。 其中 (1le n,m le 1000,1le x,rle n,sum ncdot m le 2times 10^5)。 思路 如果遇到方向不确定的情况,可以暴力的考虑直接枚举。考虑在最坏的情况下,全部的投球肯能方向不
[CF1878F] Vasilije Loves Number Theory 的题解
题目大意 令 (d(x)) 表示 (x) 的正因子数量,给定 (n,q)。现有两种操作: 给定 (x),令 (ngets ncdot x)。同时询问是否存在一个正整数 (a) 满足 (gcd(a,n)=1) 且 (d(ncdot a)=n)。 将 (n) 还原为最初的值。 数据保证任何时刻,(d(n)leq 10^9)。 思路 因为题目其实并没有要求输出 (a) 具体的值,所以我们并不需要真正
题解:黑暗爆炸 1406[暴力]
黑暗爆炸 1406 Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示。经过艰苦的破译,小可可发现,这些图标表示一个数以及这个数与密码的关系。假设这个数是 (n),密码为 (x),那么可以得到如下表述: 密码 (x) 大于等于 (0),且小于 (n),而 (x) 的平方除以
[ABC345D] Tiling 的题解
题目大意 有一个由 (H) 行和 (W) 列组成的网格,每个单元格的边长为 (1) ,我们有 (N) 块瓷砖。第 (i) 个图块 ((1le ile N)) 是一个大小为 (A_itimes B_i) 的矩形。请判断是否有可能将这些图块放置在网格中,从而满足以下所有条件: 每个单元格都正好被一个图块覆盖。 有未使用的瓦片也没关系。 瓦片在放置时可以旋转或翻转。但是,每块瓦片必须与单元格的边缘对齐
[CF1941E] Rudolf and k Bridges 的题解
题目大意 在第 ((i,j)) 个格子修建一个桥墩需要 (a_{i,j}+1) 的花费而且要求 ((i,0)) 与 ((i,m)) 必须修建桥墩并且桥墩之间的距离不得大于 (d)。现在需要求见 (k) 个连续的桥,求最小代价。 其中 (1le kle n le 100,3le mle 2cdot 10,1le dle m)。 思路 因为每一座桥修建的代价与其他桥是否修建无关,所以我们可以将每一座桥
[CF1178D] Prime Graph 的题解
题目大意 构造一个简单无向图,是所有的有度的点的度都是质数而且总共的边的数量的个数是质数。 思路 因为需要让所有的入度都为质数,所以我们可以找到两个相邻的质数 (2,3),因为这样即使增加了一条边那么这个节点的度也是质数。 先将这个图构成一个巨大的环,接着如果所有的边数并不是质数,那么就随便找两个不相邻的点连边。 因为在 (2000) 以内,质数都是十分密集的,所以即使是最坏的情况,那么大于 (2
题解:CodeForces 1511 C Yet Another Card Deck[暴力/模拟]
CodeForces 1511C C. Yet Another Card Deck Description You have a card deck of (n) cards, numbered from top to bottom, i. e. the top card has index (1) and bottom card — index (n). Each card
「杂题乱刷2」CF1506E Restoring the Permutation
duel 到的。 题目链接 CF1506E 解题思路 有一个显然的性质就是这个序列的前缀最大值是单调不降的。 于是我们就可以对于每个位置考虑还可以填哪些数,对于字典序最小的肯定填当时可填的最小数字,对于字典序最大的肯定填当时可填的最大数字,因为你可以通过填一个数的方式来满足要求,因此该构造方案一定不劣。 使用优先队列维护上述过程即可。时间复杂度 (O(n log n))。 参考代码 点击查看代码
题解:CodeForces 618C Constellation[贪心/模拟]
CodeForces 618C C. Constellation time limit per test: 2 seconds memory limit per test: 256 megabytes inputstandard input outputstandard output Cat Noku has obtained a map of the night sky. On this map
题解:CodeForces 641A Little Artem and Grasshopper[模拟]
CodeForces 641A A. Little Artem and Grasshopper time limit per test: 2 seconds memory limit per test: 256 megabytes inputstandard input outputstandard output Little Artem found a grasshopper. He broug
kedaOJ#P0776. 【模板】可并堆
思路 代码 复制都运行不了好吧 这是mcr130102的博客,转载请注明出处 /* 加上 -webkit- 注意兼容 */ h1 { background: -webkit-linear-gradient(135deg, #0eaf6d,
Cuda编程:__syncthreads运行时API在访问共享内存时的使用
该运行时API的作用 作为在访问共享内存时作为线程块内的同步机制出现,保证同一线程块内所有线程到程序运行到这个运行时API调用时都能运行完毕(注意,该API不能同步不同线程块内的线程),例如下列Cuda静态共享内存使用代码示例程序中的第23行所示: GitHubID:shiyi23 践行 活在当下 的理念
题解:AT_abc362_d [ABC362D] Shortest Path 3
一句话题意:给定一个带点权的有权无向连通图,求点 1 到所有其它点的最短路径。 首先,只有 1 一个起点,所以是单源最短路,又因为最大是 (2 times 10^5),所以是优先队列(堆)优化过后的 Dijkstra。 所以,我们只需要解决点权的问题就好了。一种显而易见的想法是把与这条边的边权加上起终点的点权,因为走这条边肯定是要过这两个点的。但这样有个问题:样例都过不了(或许是我写挂了?反正只
「杂题乱刷2」CF727D
duel 到的。 题目链接 CF727D 解题思路 首先只能选一个尺码的人直接给就是了,这样我们就只用考虑选两个尺码的人了。 因为两个尺码的人适合的两个尺码是相邻的,因此我们直接从小到大按照有两个尺码的人排序,再将剩下的衣服大小从小到大排序,然后依次给就可以了。 这里我用了桶排,时间复杂度 (O(n))。 参考代码 点击查看代码
F. Minimum Maximum Distance
原题链接 题解 1.假设有一个以标记点 (c) 为根的子树,且子树内没有其他标记点,易得该子树内所有点的 (fleq f(c)),所以我们可以把该子树内的非标记点全部删掉 2.完成步骤1之后,图就变成了所有叶子节点均为标记点的树 3.题目等价于求该树内,最小的点到边界的最大值,也就是求树的直径的一半 4.为什么?我们把树的直径高亮,对于任意点有 (fgeq k+len/2) (先到中点,再到两端)
Toyota Programming Contest 2024#7(AtCoder Beginner Contest 362)
这场比赛还是比较水的 A,B,C跳过 D题dij把点权和边权都转换为边权即可 E题DP 可以用(map)存一下等差数列的差 先说(O(n^4)),(f_{len,i,j,t})分别表示长度,现在在(i),上一个在(j) 显然动态转移方程就有了(f_{len,i,j,k}=sum_{k=1}^{k=j-1} f_{len-1,j,k,t}) 点击查看代码 然后就水过了,其实我们还可以压缩提下状
【比赛】CSP提高组模拟1
和初三学长们一起打的比赛,被人家爆杀了。 T1 最短路 20Pts 原题 Cow Toll Paths G。 正解是按点权排序后跑一遍 Floyd,歪解是多迭代几遍。 赛时没开 long long (80 to 20)。 点击查看代码 T2 方格取数 40Pts 原题 KUP-Plot purchase。 首先判掉在 ([k,2k])(直接输出) 和 ((2k,+infty))(一定不选)
《天天连连看》隐私策略
版本更新时间:2024年 1 月 2日版本生效时间:2024年 1 月 2日 上海哈斯卡网络科技有限公司 是天天连连看的运营者(以下称“天天连连看”或“我们”),kimi记账非常重视用户的隐私和个人信息保护。您在使用我们的产品与/或服务时,我们可能会收集和使用您的相关信息。我们希望通过《天天连连看隐私政策》(“本隐私政策”)向您说明我们在您使用我们的产品与/或服务时如何收集、使用、保存、共享和转让