摘要: CF875D High Cry ~ Codeforces 我们令: \(L[i]\) 为最小的 \(j\le i\) 使得 \(\max a[j\sim (i-1)]<a[i]\)。 \(R[i]\) 为最大的 \(j\ge i\) 使得 \(\max a[(i+1)\sim j]\le a[i]\ 阅读全文
posted @ 2025-08-25 17:41 Sinktank 阅读(60) 评论(0) 推荐(0)
摘要: 状压 DP 是动态规划的一种,通过将状态集合压缩成一个整数以实现状态转移的目的。 其中状态集合由若干个独立状态组成。很多情况下,每种独立状态都只有 \(2\) 种取值,也即二元状态。这种情况下,我么经常用 \(n\) 位二进制数来表示这 \(n\) 个二元状态组成的集合。 P1896 [SCOI20 阅读全文
posted @ 2025-08-24 23:12 Sinktank 阅读(106) 评论(0) 推荐(1)
摘要: 曾经拥有真的太好了 阅读全文
posted @ 2025-08-19 07:54 Sinktank 阅读(732) 评论(8) 推荐(6)
摘要: P3200 [HNOI2009] 有趣的数列 给出另一种转化思路,模拟赛的时候想到的。 将我们构造的序列看作 \(n\) 个点 \((a_1,a_2),(a_3,a_4),\dots,(a_{2n-1},a_{2n})\)。 题目的限制条件转化为: \(a_i\) 构成 \(1,2,\dots,2n 阅读全文
posted @ 2025-08-14 14:18 Sinktank 阅读(90) 评论(0) 推荐(0)
摘要: P10185 [YDOI R1] Necklace 容易写出答案为: \[\large\sum\limits_{i=1}^n\Big(2^{S-a_i}\sum\limits_{j=1}^{a_i}(C_{a_i}^j\times v_i^j)\Big) \]其中 \(S\) 为 \(a_i\) 之 阅读全文
posted @ 2025-08-14 12:02 Sinktank 阅读(55) 评论(0) 推荐(0)
摘要: P1516 青蛙的约会 实际上是一个关于\(k,s\)的不定方程: \[x+km+sL=y+kn \]很容易理解,就是走了\(x\)步之后,两只青蛙相差\(s\)圈相遇。 变形得: \[k(m-n)+sL=y-x \]有解\(\iff \gcd(m-n,l) \mid y-x\)。 exGCD先解决 阅读全文
posted @ 2025-08-03 17:28 Sinktank 阅读(70) 评论(0) 推荐(0)
摘要: 中国剩余定理(CRT) P1495 【模板】中国剩余定理(CRT)/ 曹冲养猪 对于线性同余方程组: \[\begin{cases} x\equiv a_1\pmod{b_1}\\ x\equiv a_2\pmod{b_2}\\ \dots\\ x\equiv a_n\pmod{b_n}\\ \en 阅读全文
posted @ 2025-08-03 15:36 Sinktank 阅读(133) 评论(0) 推荐(0)
摘要: 本质上是一道统计点对之间贡献的题目。 将每个奶牛看作一个点对\((v_i,x_i)\),\(i\)能对\(j\)产生贡献,当且仅当下面条件其一成立: \(v_i\le v_j,x_i>x_j\),此时的贡献为\((x_i-x_j)\times v_j\)。 \(v_i\le v_j,x_i<x_j\ 阅读全文
posted @ 2025-07-29 13:54 Sinktank 阅读(76) 评论(0) 推荐(1)
摘要: P3925 aaa被续 题目描述没看懂(雾) 简单解释一下: 对于节点\(u\),将子树\(u\)中的权值从大到小排序,记“权值乘排名之和”为\(u\)的贡献。 输出总贡献。 下文定义\(w[u]\)为\(u\)的权值,\(siz[u]\)为子树\(u\)的大小。 考虑每个节点对答案的贡献,看起来比 阅读全文
posted @ 2025-07-27 19:49 Sinktank 阅读(85) 评论(0) 推荐(0)
摘要: 补题中~ A - Vacation Validation 枚举判定。 时间复杂度\(O(n)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; string s; int n,l,r; bool solve(){ for(int i=l;i 阅读全文
posted @ 2025-07-27 11:08 Sinktank 阅读(345) 评论(0) 推荐(0)
摘要: 写题解 = 让世界知道我活过 阅读全文
posted @ 2025-07-23 22:06 Sinktank 阅读(65) 评论(0) 推荐(0)
摘要: P1966 [NOIP 2013 提高组] 火柴排队 结论:当且仅当\(a\)中第\(i\)小和\(b\)中第\(i\)小配对时,答案最优。 证明:我们取\(a_i<a_j,b_i<b_j\),即证明\((a_i,b_i)(a_j,b_j)\)这种配对方案,一定比\((a_i,b_j)(a_j,b_ 阅读全文
posted @ 2025-07-23 17:02 Sinktank 阅读(91) 评论(0) 推荐(0)
摘要: 前 树状数组套权值线段树,是众多树套树的一种(下文树套树默认指树状数组套权值线段树),可以在单次查询 / 点修均 \(O(\log^2 n)\) 的时间复杂度内,在线处理二维数点 / 区间第 \(k\) 小等问题。 前置知识: 线段树 树状数组 可持久化线段树 本文代码中 auto [a,b,c]= 阅读全文
posted @ 2025-07-15 17:28 Sinktank 阅读(225) 评论(0) 推荐(1)
摘要: P1983 [NOIP 2013 普及组] 车站分级 对于一趟车次停靠的位置\(p_1,p_2,\dots,p_s\),可以确定的是\([p_1,p_s]\)中除\(p\)以外的位置,优先级一定低于这些\(p\)。 对于\(a,b\)两个点,若\(a\)的优先级低于\(b\),就添加一条\(a\ri 阅读全文
posted @ 2025-07-10 14:34 Sinktank 阅读(102) 评论(0) 推荐(0)
摘要: A - Content Too Large 输出Yes\(\iff \sum a_i\le m\)。 时间复杂度\(O(n)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n,m; signed main(){ cin>>n>> 阅读全文
posted @ 2025-07-06 13:45 Sinktank 阅读(373) 评论(2) 推荐(2)
摘要: 因为要准备考试所以补题会晚些。(#><) A - Required Length 输出Yes\(\iff |s|\ge n\)。 时间复杂度\(O(1)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; string s; int n; s 阅读全文
posted @ 2025-06-21 23:25 Sinktank 阅读(349) 评论(1) 推荐(0)
摘要: 线段树合并,就是将两棵线段树对应位置相加,得到一棵新的线段树。 由于实际应用中,通常要对很多棵线段树进行多次合并,所以和主席树类似地,我们使用动态开点线段树来实现。 算法概述 线段树合并的代码实现如下: int merge(int x,int y,int l,int r){//将x,y为根的树都合并 阅读全文
posted @ 2025-06-21 10:51 Sinktank 阅读(321) 评论(5) 推荐(2)
摘要: A - G1 统计有多少个\(a_i\ge k\)即可。 时间复杂度\(O(n)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; const int N=1e2+10; int n,a[N],k,ans; signed main(){ c 阅读全文
posted @ 2025-06-14 22:59 Sinktank 阅读(331) 评论(0) 推荐(1)
摘要: A - Conflict 输出Yes\(\iff\)存在\(t[i]\)和\(a[i]\)同时为o。 时间复杂度\(O(1)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; string t,a; bool check(){ 阅读全文
posted @ 2025-06-07 23:17 Sinktank 阅读(396) 评论(0) 推荐(0)
摘要: A - Timeout 根据题意,若令\(T[0]=0\),则: 答案为Yes\(\iff\)对于\(i\in [1,n]\),都有\(T[i]-T[i-1]\le S\)。 时间复杂度\(O(n)\)。 点击查看代码 #include<bits/stdc++.h> using namespace 阅读全文
posted @ 2025-05-31 23:50 Sinktank 阅读(791) 评论(5) 推荐(3)
摘要: P1250 种树 这里主要补充一个\(O(h\log n)\)的做法(即加强版 P11453 [USACO24DEC] Deforestation S)。 我们将需求看做线段,第\(i\)条线段左右端点分别是\(l_i,r_i\),要种\(cnt_i\)棵树。 那么可以使用贪心的思想求解。将线段按左 阅读全文
posted @ 2025-05-28 16:06 Sinktank 阅读(94) 评论(0) 推荐(1)
摘要: A - Approximation 使用<cmath>中的round()函数实现四舍五入。 时间复杂度\(O(1)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; int a,b; signed main(){ cin>>a>>b; co 阅读全文
posted @ 2025-05-24 23:52 Sinktank 阅读(582) 评论(2) 推荐(2)
摘要: #6160. 「美团 CodeM 初赛 Round A」二分图染色 转化一下题意: 定义一个\(n\times n\)的棋盘,如果左侧的\(i\)与右侧的\(j\)之间有一条红色的边,那么棋盘的\((i,j)\)处就放一个红色棋子;蓝色同理;绿色相当于不放。 要求每个格子最多放\(1\)个棋子,红色 阅读全文
posted @ 2025-05-24 19:58 Sinktank 阅读(156) 评论(0) 推荐(0)
摘要: 因为上线时间有限所以补题和题解都延误了(^^; 写得很急,如有错误/不清晰的点请在评论区提出。 A - Not Acceptable 见代码。时间复杂度\(O(1)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; int a,b,c,d; 阅读全文
posted @ 2025-05-23 20:32 Sinktank 阅读(132) 评论(0) 推荐(0)
摘要: A - Is it rated? 照题意判定即可。 时间复杂度\(O(1)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; int r,x; signed main(){ cin>>r>>x; if(r>=1600&&r<=2999&&x 阅读全文
posted @ 2025-05-10 22:57 Sinktank 阅读(359) 评论(0) 推荐(0)
摘要: [ABC404F] Lost and Pound ~ AtCoder 根据题意,玩家所知道的信息,仅有“当前的轮数”和“正确按钮已经被按下多少次”,所以可以设计DP数组: 令\(f[i][j]\)表示“还剩\(i\)轮结束,还要按\(j\)次正确按钮”的获胜概率。 则初始状态为\(f[0\sim T 阅读全文
posted @ 2025-05-09 20:29 Sinktank 阅读(93) 评论(0) 推荐(0)
摘要: A - Status Code 如果\(S\in [200,299]\)则输出Success,否则输出Failure。 时间复杂度\(O(1)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; signed main(){ c 阅读全文
posted @ 2025-04-12 23:25 Sinktank 阅读(600) 评论(1) 推荐(1)
摘要: A - exercise 照题意模拟即可,注意每天先增后减。细节见代码。 时间复杂度\(O(m\log m)\)。 点击查看代码 #include<bits/stdc++.h> #define M 514 #define int long long using namespace std; stru 阅读全文
posted @ 2025-04-06 22:50 Sinktank 阅读(113) 评论(0) 推荐(1)
摘要: A - ABC400 Party 如果\(A\)整除\(400\)就输出\(\frac{400}{A}\),否则输出-1。 时间复杂度\(O(1)\)。 点击查看代码 #include<bits/stdc++.h> using namespace std; int n; signed main(){ 阅读全文
posted @ 2025-04-05 22:56 Sinktank 阅读(323) 评论(0) 推荐(0)
摘要: A - Doors in the Center 如果\(n\)为奇数,就依次输出\(\frac{n-1}{2}\)个-、\(1\)个=、\(\frac{n-1}{2}\)个-。 如果\(n\)为偶数,就依次输出\(\frac{n}{2}-1\)个-、\(2\)个=、\(\frac{n}{2}-1\) 阅读全文
posted @ 2025-03-22 23:35 Sinktank 阅读(752) 评论(1) 推荐(0)
★CLICK FOR MORE INFO★ TOP-BOTTOM-THEME
Enable/Disable Transition
Copyright © 2023 ~ 2025 Sinktank - 1328312655@qq.com
Illustration from 稲葉曇『リレイアウター/Relayouter/中继输出者』,by ぬくぬくにぎりめし.