属于我们的风景。|| AFO
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
[Luogu评测记录](https://www.luogu.com.cn/record/214913297) ```c++ class Solution_Case { /* 诗人小G × 诗人握持 √ 设F[i]为对前i首诗排版的最小不协调度,a[i]为第i句诗的长度,sum[i]为前i句诗的总长度 设val(i,j)…
## 1 ```c++ class Solotion_Case { /* 首先考虑最基本的思路: 先求出s,t的前缀和,然后设f[i,j]表示把前i个任务分成j批执行的最小费用 这样就可以列出n三次方的方程,见algo P352 来一个小优化: 由于本题目没有规定需要把任务分成多少批次,在上一个解法之中之所以需要批数j…
刚开始的思路是搓一个$O(LogN+M*LogN)$的暴力二分 显然由于极限情况下$M=1e9$,因此T,只得72pts 用vector去重后,每次跳到二分的变化界限,重复的数以乘代加 优化为$O(LogN+N*LogN)$,轻松过oj;[洛谷峰值82ms](https://www.luogu.com.cn/recor…
```c++ #include using namespace std; class Quick_IO { public: template void read(T &r) { T x = 0, f = 1; char ch = getchar(); while (ch '9') { if (ch == '-') f…
### Hash killer 1 > #### Solve: > > 神犇思维,构造奇异数据 ```c++ class Solution_Case { /* 题解: 1.https://blog.csdn.net/weixin_45750972/article/details/107457997 2.oiwiki 3…
sb不会打模拟了,我是傻逼 ```c++ #include using namespace std; void exit1() { cout > s; n = s.size(); for (int i = 1; i < n; i++) if ((ck[s[i]] == 1 && ck[s[i - 1]] == 2) |…
会有莫名其妙的误差,不清楚原因 **考试不要用这个!!** ```c++ #define timer std::chrono::_V2::system_clock::time_point class Timers { public: timer start = chrono::high_resolution_clock…
[**「一本通 2.3 例 3」Nikitosh 和异或**](https://h.hszxoj.com/d/hztg/p/HZTG370?tid=6740881de6229a80e0bfa718) ----------- 首先,题意是找出左一端、右一段异或和,使他们的加和最大 可以枚举中间的断点$i$,然后求$i$的…
**例题:https://www.luogu.com.cn/problem/U549198** 利用 $compare.cpp$ 可以造数据,用两个人写的程序,看看结果一不一样,如果一样的话就打开data,那么这个数据就可以作为数据。 操作方法可以把 $compare.cpp$ 判断文件相同的部分取反就可以。 ----…
## Analysis 首先我们看这题显然跟质数有关,分析过程,发现 $μ$ 的值跟质因数紧密相关。 那么我们必须要了解的前置知识:[【P3383】线性筛素数](https://www.luogu.com.cn/problem/P3383)、判断素数等。 请先完成[【P3383】](https://www.luogu.…
## Problem 你有 $D$ 个甜甜圈,共有 $E$ 个甜甜圈的变化事件,每个事件有两种可能的情况:增加或者减少 $Q$ 个甜甜圈。 求剩余的甜甜圈数量。 ## Solution 对于每个事件,对甜甜圈的初始数 $D$ 加或减每个对应的 $Q$ 即可。 那么最终 $D$ 的值即为所求结果。 用循环结构简单模拟就可…
## Solution 稍微有点复杂的模拟题。 简单分为几个步骤就可以:读入、提取、填充、输出。 其中提取和填充部分我用的是**递推**,这样写起来思路比较连贯。 ## Tips 1. 提取时,注意讨论四个角的情况。 2. 提取时,注意特判左下角,奇偶分情况。 3. 填充时,可以先对边界处理。标记边界为填充过的,然后*…
## Background 算法:广度优先搜索。 几乎是广搜模板题,没有任何别的什么处理。 至于题目的六边形设定,直接把六个边对应的邻点当做可以扩展的位置,然后**当做矩形做**即可。 ## Solution 1. 先存图,然后依次遍历第一行、第一列,若找到对应人的棋子,就以这个起点开始广搜。 2. 广搜扩展时,若当前…
## Background 算法:二分答案、贪心。 首先理解题意,共有三个重要的信息,我们可以理解为:**门槛**、**花费**、**报酬**。其中报酬的值为门槛减去花费。 ## Solution 简单思考,我们可以得出**贪心策略**: 1. 先完成回报多的任务,这样才能留下更多给回报少的。 2. 若回报相同,先完成…
## 简单思路 二分答案基础题,直接二分枚举最短的时间。 然后进行检验:直接让所有水龙头放水,看看是否满足淹没了整个管道。 如果满足,继续找更小的解;反之往大找可行解。 ## 代码实现 注意检验部分有一处细节,当前水龙头的范围更大才更新最远点,要取新范围和历史最远的较大值。 ```cpp #include #defin…
在文章《题解:P12198 Hash Killer II》发表评论:
orz %%%%%
## [P1081 [NOIP 2012 提高组] 开车旅行](https://www.luogu.com.cn/problem/P1081) 这里提供一种基于 STL `set` 的**预处理到达城市**方法。 > 建议结合其他题解看其他部分的代码和整体思路。 > > 对于这个预处理,不会链表的可以试试这个暴力且容易…
同一份代码,数据是直接搬过来了? [T1 评测记录](https://www.luogu.com.cn/record/213442529) [T2 评测记录](https://www.luogu.com.cn/record/213442828) 建议加强
# [P6080 [USACO05DEC] Cow Patterns G](https://www.luogu.com.cn/problem/P6080) 做法:**树状数组**+**kmp** ## 前言 最近在学习 kmp,这题看了很久都没有弄明白,弄懂之后且当作记录一下思路吧(也是本蒟蒻第一篇题解)。 ## 题意…
在文章《我常常『追忆』过去》发表评论:
%%%%%%
在文章《P3503 Blocks 题解》发表评论:
%%%%
rt,这题跟传纸条不太一样的是它的起点终点都能有数值,所以注意你dp的范围,不要忘记了首尾的值 ```cpp for(int k=1;k<=m+n;k++){ //禁食后人!!! //其实直接用n就可以的 //如果要用min n,k 需要把k+1!!!!!! //因为会漏掉初始情况(少走一个),参考下面的k-j+1 f…
rt,如下 ```cpp for(int k=1;k<=m+n;k++){ //禁食后人!!! //其实直接用n就可以的 //如果要用min n,k 需要把k+1!!!!!! //因为会漏掉初始情况(少走一个),参考下面的k-j+1 for(int i=1;i<=min(n,k+1);i++){//重复点的处理:我们可…
在文章《【300粉粉福】恋爱史》发表评论:
不合适的时间长了,留下的回忆会更多,分开时候也会更难过。爱她但是陪不到她,这种感觉太有同感了。找对象一定要找一个对彼此的依赖感差不多的,不然一方干熬一方不重视,然后迎来故事的结束,还是要以自己为重:https://www.luogu.com.cn/article/43gsmzc8
在文章《这样玩大冒险,朋友兴奋得飞起来》发表评论:
我看这个文字都觉得尴尬 😓
在讨论《50pts求调玄关》回复:
为什么k要从3开始枚举?正常枚不就得了吗 ```cpp #include #define M 205 using namespace std; int f[2*M][M][M];//f[k][i][j] 两个纸条都走了k步 一个的x为i一个为j int m,n; int s[M][M]; inline int Getm…
在文章《Cow Coupons要点》发表评论:
orz、