AFOed||ssoi||如果你因失去太阳而悲伤,那你也将错过群星
追踪最近的用户名外显变动记录。
最近的文章、讨论、云剪贴板与社区记录
ABC435G ```cpp #include #define int long long using namespace std; const int N = 5e5 + 5, mod = 998244353; int diff[N], w[N], dp[N]; signed main() { int n, m; c…
在讨论《无题》回复:
但好像一定要蓝√吧
在讨论《无题》回复:
发工单也可以
在文章《『倒流回,最初的相遇。』》发表评论:
会赢的
在讨论《关于NOIP2025绝对没人挂分比我多》回复:
祝好
在讨论《关于几何语言∵∴》回复:
老师更喜欢,这是重点
要求最小值最大,可以想到用二分,二分答案,贪心的放传送门。除了每个人左右答案个长度不能放除外其他全部贪心放满,看看够不够 $k$ 个,最后按照这个方法再做一遍统计答案即可。注意要特判长度为 $0$ 的情况。 代码: ```cpp #include using namespace std; const int N = 2…
有点诈骗的贪心题。因为车追不上人,所以只有在人前面的车可以上。并且只能上一辆车因为所有车的速度一样,相对位置也是固定的,上两辆车不如上后面那辆。因为车的速度大于人的速度所以选一辆车上然后步行到终点即可。求预处理前缀最大值,二分查询即可。 从其他题解学来一个小技巧,就是用含参数的二分函数,并且因为定义了比较器,所以其他的…
因为参与求最大公约数的数越多,最大公约数越小,所以一定是尽量跨度大,所以要么连到 $1$ 要么连到 $n$,预处理前后缀最大公约数后取最小值即可。但是要注意一点,就是第一个点和最后一个点只能取一个连到对方因为我们这里是要最小生成树,取一个已经可以连通就不要算两遍。这个方案可以保证正确因为最后所有点要么连到 $1$ 上要…
```cpp #include using namespace std; const int N = 5005; int n, p[N], a, b, c, d, e, a2, b2, c2, d2, e2, cnt; int main() { cin >> n; for (int i = 1; i e) s += e…
在文章《蒟蒻 OIer の 考场操作与常见问题综合》发表评论:
已完成今日顶上那个极域的工具栏太傻逼了,我能关掉吗?大学习
在讨论《RP++》回复:
rp++
在文章《斜率优化 DP 笔记》发表评论:
CSPrp++
在文章《斜率优化 DP 笔记》发表评论:
%%%dashenna
在讨论《关于Csp》回复:
~我想骂人~
在讨论《有没有什么代替算法》回复:
单调队列是 $O(n)$ 不过可以用multiset达到同样效果的 $O(n\log n)$,如果时间不紧就可以。栈的话建议学。
很有意思的一道题,考虑只用 `ab` 来卡他。当 `base` 为偶数时,因为是自然溢出即模 $2^{64}$,所以只要长度超过 $64$ 就可以完美卡掉这个代码。当 `base` 为奇数时,考虑使用 Thue Morse 序列。这个序列的定义是,第一个字符为 $0$ 然后不断复制自己然后按位取反加到最后面,比如说这样…
我的这一份代码: ```cpp #include #define int long long using namespace std; const int N = 6e5 + 5; int n, T, a[N]; struct Node { int lc, rc, add, sum; }tr[N]; void push…
[P1177 【模板】排序](https://www.luogu.com.cn/problem/P1177) `sort` 函数: ```cpp #include #include #include #include using namespace std; const int N = 1e5 + 5; int n,…
注意到,$x\bmod p_1 \bmod p_2\bmod \cdots \bmod p_n$ 无论怎么变换 $p$ 的顺序结果不变,那么 $p_1$ 为最小值,所有 $p_i$ 一定是某个正整数 $d$ 的倍数。于是只需要预处理一下逆元,并枚举 $d$ 用组合数求结果即可。 代码: ```cpp #include…
在讨论《求一个手写的函数》回复:
@[K_add_HCl_add_F2](luogu://user/991651)看不懂,求讲解
动规题目。设 $f_{i,j}$ 表示第 $i$ 个语句缩进 $j$ 次,如果前一个语句为循环那么这一语句一定在这个循环下面,缩进 $j$ 次的方案数自然就是前一个语句缩进 $j-1$ 次。否则,如果这个语句缩进 $j$ 次,那么上一个语句一定缩进 $j$ 次以上,维护一下后缀和即可。 显然空间爆炸,所以需要滚动数组。…
一道非常经典和锻炼人的 `dp` 题,建议一定好好做。 先理清题目:有一个网格,每条边都有一个边权,存储方式如下: - $(x,y)$ 到 $(x,y+1)$ 的边权存储在 $ea_{(x,y)}$ 里。 - $(x,y)$ 到 $(x+1,y)$ 的边权存储在 $eb_{(x,y)}$ 里。 然后每次删去一条边,求最…
很好玩的贪心题。 首先肯定是分成全部变成正面和反面的情况讨论,这里以正面为例。显然每一个滑板如果是反面都要翻面,距离就是滑板的编号。所以最大的滑板距离就是所有反面的编号和。 接下来考虑移动产生的贡献抵消。设一共有 $m$ 个反面滑板,对于第 $i$ 个反面滑板,前面有 $i-1$ 个,会产生 $i-1$ 的距离抵消。不…
结论就是当 $n$ 能被 $d(n)$ 整除时为 `Yes`,其他题解都有详细讲解,不再赘述,这里主要讲一下实现。 这里的方法简单粗暴,对于 $x$,对它进行质因数分解,乘的 $n$ 也分解并且和 $x$ 的结果相加(开一个 `map` 即可)若直接计算 $d(n)$ 是不可取的,所以我们可以采取逐步取模的策略,让结果…
在讨论《站外题》回复:
这题感觉要用到循环多项式的性质(毕竟我也没多想),不会考到(如果真是这么做的话),感觉难度不低。
在讨论《关于CSP第二轮》回复:
加上freopen即可,剩下的该怎么写怎么写
在讨论《请求添加题解》回复:
可以拉工单
在讨论《90pts求调》回复:
@[TripFriend1130](luogu://user/1210305) 问题是: - 你在第一个循环中`i<n*s`应该是`i<=n*s`因为有可能最后一次面试出来遇到。 - 你在第二个循环中`i<=n`应该是`i<n*s`,因为 $i$ 是枚举时间。
在讨论《90pts求调》回复:
改完了,代码应该是 ```cpp #include using namespace std; bool f[305]; int n,y,s,t; int main() { cin >> n >> y >> s >> t; for(int i = y;i<=n*s;i++) { if((i-y)%t==0)f[i]=1;…