AT_abc

AT_abc243_g [ABC243G] Sqrt题解

题目大意 有一个数列,初始时只有一个数 \(X\)。你可以对它进行一种操作:设末尾的数为 \(Y\),从 \(1 \sim \sqrt{Y}\) 中选一个数加到数列的末尾。如此进行 \(10^{100}\) 次操作,问数列一共有多少种可能的状态。 解法 考虑 DP。 设 \(dp_i\) 表示以数字 ......
题解 243 AT_abc 243G Sqrt

AT_abc243_g [ABC243G] Sqrt题解

题目大意 有一个数列,初始时只有一个数 \(X\)。你可以对它进行一种操作:设末尾的数为 \(Y\),从 \(1 \sim \sqrt{Y}\) 中选一个数加到数列的末尾。如此进行 \(10^{100}\) 次操作,问数列一共有多少种可能的状态。 解法 考虑 DP。 设 \(dp_i\) 表示以数字 ......
题解 243 AT_abc 243G Sqrt

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

「杂题乱刷」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

AT_abc299_h 题解

原问题可转化为:在一个长为 \(10^9\) 的环上,每次走 \(1\sim6\) 步,指定起点,问到原点的期望步数。 考虑走到 \(-1\sim-6\) 的期望步数。我们发现,对于 \(X-R\equiv -i\pmod {10^9},i\in[1,6]\),\(C\) 的期望应该存在线性关系,因 ......
题解 AT_abc 299 abc AT

AT_abc020_c 题解

链接(atcoder) 链接(luogu) 简单算法组合(? 算法一 爆搜,时间复杂度 \(O(2^{n \times m} \times t)\),不能通过此题。 算法二 考虑二分 \(t\),然后暴搜,时间复杂度 \(O(2^{n \times m} \times log2(t))\),不能通过 ......
题解 AT_abc 020 abc AT

「杂题乱刷」AT_abc280_d

题目链接 舒服题。 考虑贪心,我们可以直接枚举到 \(10^7\),然后将 \(n\) 一直除以 \(n\) 和 \(i(1\le i \le 10^7)\) 的最大公因数,若到 \(10^7\) 时 \(n\) 还不为 \(1\),这时直接输出 \(n\) 即可。 参考代码: 点击查看代码 /* ......
AT_abc 280 abc AT

「杂题乱刷」AT_abc280_e 题解

题目链接 期望 dp 板子题,我们直接设 \(dp_i\) 为怪物血量只剩下 \(i\) 时的概率即可,状态转移方程也很简单了,详见代码。 参考代码: 点击查看代码 /* Tips: 你数组开小了吗? 你MLE了吗? 你觉得是贪心,是不是该想想dp? 一个小时没调出来,是不是该考虑换题? */ #i ......
题解 AT_abc 280 abc AT

AT_abc323_f [ABC323F] Push and Carry 题解

不难发现答案的下界为 \(|x_b-x_c|+|y_b-y_c|\),这是每步都推箱子的情况。 但很多时候并不能直接开始推箱子,所以人要先移动到箱子的后面(相对于目的地),再把箱子往目的地推。 比如这种情况(B 为箱子,C 为目的地): B.. ... ..C 推完箱子的一边后,还要走到另一边: ↓ ......
题解 323 AT_abc Carry 323F

AT_abc325_e [ABC325E] Our clients, please wait a moment 题解

原题传送门 最短路板题。 乘坐的过程一定是先车再火车(如果有),假设换车地点为 \(x\),那么最小代价为坐车从 \(1\) 到 \(x\) 与坐火车从 \(x\) 到 \(n\) 的最小代价之和,分开跑最短路即可,时间复杂度 \(O(n^2\log n+n)\)。 code: #include<i ......
题解 325 clients AT_abc please

AT_abc333_e [ABC333E] Takahashi Quest 题解

AT_abc333_e [ABC333E] Takahashi Quest 题解 思路解析 可以发现一瓶药水无论什么时候拿被使用掉的时间都是不会变的,所以如果我们想让一瓶药水再背包里待得时间尽可能的短就要让它尽可能的被晚拿起来,于是我们就可以想到使用栈存下每一瓶同类的药水分别出现的时间,此时每遇到一 ......
题解 333 Takahashi AT_abc Quest

AT_abc 复盘合集

AT_abc301 复盘 A 一眼水,只需要遍历一遍数组,记录哪一个胜利场数先打到 \((n + 1) / 2\) 就好了。 AC code: // LUOGU_RID: 139221441 #include <bits/stdc++.h> using namespace std; int n, c ......
AT_abc abc AT

AT_abc301 复盘

AT_abc301 复盘 A 一眼水,只需要遍历一遍数组,记录哪一个胜利场数先打到 \((n + 1) / 2\) 就好了。 AC code: // LUOGU_RID: 139221441 #include <bits/stdc++.h> using namespace std; int n, c ......
AT_abc 301 abc AT

AT_abc312复盘

AT_abc312 复盘 A 一眼过去直接 \(if\) 秒了 AC code: #include <bits/stdc++.h> using namespace std; string s; int main(){ cin >> s; if (s == "ACE" || s == "BDF" || ......
AT_abc 312 abc AT

AT_abc329_e [ABC329E] Stamp 题解

题目翻译 给你两个字符串:\(S\) 由大写英文字母组成,长度为 \(N\);\(T\) 也由大写英文字母组成,长度为 \(M\),小于 \(N\)。有一个长度为 \(N\) 的字符串 \(X\),它只由 # 字符组成。请判断是否有可能通过执行以下任意次数的操作使 \(X\) 与 \(S\) 匹配: ......
题解 329 AT_abc Stamp 329E

AT_abc324_e [ABC324E] Joint Two Strings 题解

题目大意 给你 \(n\) 个字符串 \(s\),和一个字符串 \(t\)。 问你,有多少组是 \(s_j\) 拼在 \(s_i\) 后面所组成的新字符串中,\(t\) 是其子序列。 思路 分析:\(5 \times 10^5\) 的数据肯定需要 \(O(n)\) 或 \(O(n \log n)\) ......
题解 324 Strings AT_abc Joint

AT_abc265_d 题解

### 题意 给出一串数,请尝试在这串数中找到三段**连续**的子段,使得这三个子段的和分别为 $P$、$Q$ 和 $R$。问:是否可行? ### 思路 通过观察,观察我们可以发现,其实我们可以根据题目的要求写出一段关系式: $A+P+Q+R+B$(其中 $A$ 表示被选子段前面没被选的子段和,其中 ......
题解 AT_abc 265 abc AT

AT_abc215_d

基本概括 当解决这个问题时,我们需要找到满足条件的整数 \(k\),使得对于给定的序列 \(A=(A_1,A_2,\dots,A_N)\) 中的每个数 \(A_i\),都满足 \(\gcd(A_i, k) = 1\)。 实现思路 首先,我们可以观察到,如果 \(k\) 是 \(A_i\) 的质因数或 ......
AT_abc 215 abc AT

[题解]AT_abc267_f [ABC267F] Exactly K Steps

大家好,我是毒瘤,喜欢用玄学算法过题。 发现题解区没有这个做法,于是来发一篇。 思路 首先发现如果一个点对 \((u,v)\) 的距离为 \(d\),那么在这棵树以 \(u\) 为根时,\(v\) 的深度为 \(d\)。 Code ......
题解 267 Exactly AT_abc Steps

AT_abc230_f [ABC230F] Predilection 题解

prelogue 各位在比赛的时候一定要坚信自己的式子,然后去考虑自己的实现是不是挂了。本人在今天模拟赛的时候质疑自己的式子然后不看实现 100 -> 0。 analysis 考虑对这个给定数组进行前缀和,然后就将问题转化成为了求这个前缀和数组的子序列的个数。对于求子序列,我们很轻松可以写出来这个式 ......
题解 Predilection 230 AT_abc 230F

[题解]AT_abc328_f [ABC328F] Good Set Query

思路 带权并查集模板。 如果对于一个三元组 \((a,b,c)\) 如果它能够添加到 \(S\) 中一定满足如下条件中的一条: \(X_a,X_b\) 满足其中有一个是「不确定」的。在这里 ......
题解 328 AT_abc Query 328F

AT_abc310_e

一种极其无脑全是套路的做法(绝对不是因为没想到正解)。 关注到要求出每一个区间的值,我们可以迅速联想到从小到大枚举右端点,同时维护前面所有以这个点为右端点的区间值。 根据一般套路,大致发现线段树可以做到这一点。 观察题目给出的变换规律,可以发现:新增一个 \(0\) 等同于赋值为 \(1\);新增一 ......
AT_abc 310 abc AT

AT_abc327 会题解

2023.11.7 18:53 上一次打 ATCoder 还是在上次呢?上一次打外网网络比赛还是在暑假集训吧。 A 乱搞。 B 最多 \(15^{15}\),乱搞即可,记得开 long long 和中途退出。 C ...记得好像做过类似的题来着,同样乱搞。 D 类似于条件之间的叠加,直接建图跑个拓扑 ......
题解 AT_abc 327 abc AT

AT_abc310_d

一道比较简单的爆搜题。虽然在考场上没写出来。 分析 我们可以直接枚举每个人加入哪个团队(如果团队中没有与他相斥的人)。然后答案加一就可以了。 为了是答案更优,我们可以小小地剪一剪枝。 如果剩下的不能满足每一组都有人,就新建一个组,不考虑加入新组。 如果当前组数与要求组数相同就不新建小组了。 但其实, ......
AT_abc 310 abc AT

《AT_abc326_g Unlock Achievement》解题报告

考场上压根没想到网络流,感觉这题是做过的网络流里算质量比较高的了。 首先我们肯定是想直接贪心,但是发现怎么贪心都没办法,而且数据范围非常小,一般数据范围非常小,且贪心不了但又只能贪心的题就用网络流实现。 考虑如何建模,首先我们发现权值有正有负,考虑最大权闭合子图,正权值连汇点,负权值连源点。 正权值 ......
Achievement 报告 AT_abc Unlock 326

AT_abc325_g offence 题解

AT_abc325_g offence 题解 一道不难但是需要想一想的区间 DP。 有一个比较复杂的例子:ooofofxxx,简单的分析可知,一个 of 后面删除多少,与其前、后都有关,于是考虑区间 DP。 想到这里,其实问题已经解决一半了。 状态设计 设 \(f(l,r)\) 为闭区间 \([l, ......
题解 offence AT_abc 325 abc

AT_abc326_d ABC Puzzle 题解

AT_abc326_d ABC Puzzle 题解 看题 事实上,即使在 \(N=5\) 的情况下,也只有 \(66240\) 个网格满足「每行/每列恰好包含一个 A、B 和 C」。——官方题解 其实看到这道题,就感觉是搜索,这很显然。 但是我们会发现,最最最 native 的搜索,是 \(4^{5 ......
题解 AT_abc Puzzle 326 ABC

AT_abc326_f Robot Rotation 题解

AT_abc326_f Robot Rotation 题解 经典问题,以前遇到过一个类似的问题:[ABC082D] FT Robot。 建议对比着看一看这两道题,是两种不同的思路。 (那一道题不用输出方案,因此可以用 bitset 优化;而此题需要输出方案,因此需要双向搜索。 思路 注意到每次只能「 ......
题解 Rotation AT_abc Robot 326