CNT
  • 2024-10-02UER #1
    A.猜数题目描述给定\(g,l\),满足\(gl=ab\),且\(a,b\)是\(g\)的倍数。求\(a+b\)的最小/大值。思路根据积一定差小和小,最小值为\(2\sqrt{g\cdotl}\),最大值为\(g+l\)。时空复杂度均为\(O(1)\)。代码#include<bits/stdc++.h>usingnamespacestd;usingll=long
  • 2024-10-02Codeforces Global Round 19 E. Best Pair
    \(cnt\)的取值种类数不超过\(\sqrtn\)。因此我们可以枚举\(cnt\)然后贪心选最大的值。#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;#defineinti64usingvi=vector<int>;usingpii=pair<int,int>;voidsolve()
  • 2024-10-02题解2:SP5449 ANARC09A - Seinfeld
    思路:考虑贪心。统计未配对的{:当遇到一个{时,增加未配对的{数量。当遇到一个}时,有两种情况:如果有多余的{,那么就用这个}与之前的{配对。如果没有多余的{,增加\(1\)次。遍历结束后:当我们遍历完字符串后,可能还会剩下一些未配对的{,需要通过将一部分{
  • 2024-10-02JOI 2018 Final
    A-ストーブ(Stove)有\(n\)个客人将要来访,第\(i\)个客人的来访时间为\([a_i,a_i+1]\),保证\(\foralli\in[1,n),a_i<a_{i+1}\)。在每个客人来访时,你都需要保证暖炉是亮着的(初始时暖炉为熄灭状态)。你可以在任意时刻熄灭暖炉,但每次点亮都需要消耗一根火柴,且你
  • 2024-10-01网络流与线性规划24题详解(上)
    前言题单刷24题刷魔怔了,写个详解。难度不断递增,T1-T9为蓝题,T10-T23为紫题。(什么?你问我为什么没有T24?)好了,让我们开始吧!T1孤岛营救问题思路:这题数据小,所以用BFS\(key[x][y][k]\)记录\((x,y)\)的第k把钥匙\(wall[x1][y1][x2][y2]\)记录墙和门\(vis[x1][y1][k]\)记录是否走
  • 2024-09-30数组0.1
    一维数组数组的运用场合当我们需要涉及的变量特别多,光想名字都要想半天所以引入数组Q:(1)在程序中怎样存放100个学生的成绩?(2)定义100个整型变量吗?(3)C语言中的解决方案是……?A:(1)存储学生成绩用整型数组mark[100];(2)存储一行文字用字符数组str[200];(3)存储一个4*6的矩阵
  • 2024-09-30csp-s模拟7
    这次状态不是很好,冲着T1磕了4个小时,后仨题看都没看。。。A.median去他丫的容斥,考虑排序,一个数作为中位数的方案数就是他左边有俩不同类型的数和右面有俩不同类型的数的总和枚举哪些类型左边哪些右边,对每一位计算贡献就可以了,要提前预处理出来个数。(有没有好心人看看我代码哪
  • 2024-09-3020240930
    TheOnlyWaytotheDestination首先假如两个墙之间的间隔大于等于二了,那么就直接输出\(no\),如果能在图的空隙中找到一个\(2*2\)的矩形,那么也是输出\(no\),然后我们可以把每一列看成一个点,再把每个空隙看成一条边即可,用并查集维护ASimpleMSTProblem一个性质我
  • 2024-09-30『模拟赛』CSP-S模拟5
    Rank烂A.median签。你说得对,但是赛时嗯打150行5k代码超级分讨过了。因为容斥做的不好,求总的然后减总会差点东西,所以直接分着加。发现如果中位数在这五个数中不止出现一次那么就会算重,所以分三种大情况考虑。一,中位数只有一个。那么此时我们需要找到另外两个小于它的
  • 2024-09-3020240930模拟赛
    T1连珠风暴(necklace.pas/c/cpp)问题描述:给定M种颜色的珠子,每种颜色珠子的个数均不限,将这些珠子做成长度为N的项链。问能做成多少种不重复的项链.并且两条项链相同,当且仅当两条项链通过旋转或是翻转后能重合在一起,且对应珠子的颜色相同。样例输入:25样例输出:8下图是
  • 2024-09-30树上的差分
    1.点的差分    求路径u-v上的点被经过的次数。    cnt[ x]代表点x经过的次数。    核心代码:cnt[n]++;cnt[v]++;cnt[lca]--;cnt[fa[lca]]--; 2.边的差分    求u-v路径上每一条边经过的次数。    cnt[ x
  • 2024-09-29NEERC2014题解
    A结论题,行着取intn,m;signedmain(void){#ifdefONLINE_JUDGEfreopen("alter.in","r",stdin);freopen("alter.out","w",stdout);#endif read(n),read(m); writeln(n/2+m/2); for(inti=2;i<=n;i
  • 2024-09-29CSP模拟5
    T1光我们来考虑一个格加\(4\)或者减\(4\),这样有一个比较好的性质,它能提供\(4,2,2,1\)的贡献还不会溢出,这样我们就有一个比较好的思路,我们枚举\(4,2,2,1\)所无法造成的贡献,很明显只有\(16\)种,然后我们就可以再枚举\(4,2,2,1\)来算贡献.点击查看代码#include<bits/
  • 2024-09-29[HNOI2009] 梦幻布丁
    [HNOI2009]梦幻布丁题意给出一个序列\(a\),有\(q\)次操作,每次修改把序列中一种数全部改为另一种数。每次询问,查询序列\(a\)的颜色段个数。思路颜色段只有同一种颜色才有贡献,我们考虑每种颜色开一棵平衡树维护。每种颜色维护其在原序列中的下标,下标连续的一段区间就是一
  • 2024-09-29「CSP-J」做题记录
    「CSP-J」做题记录记号:A:自己做出来的。B:看题解提示做出来的。C:对着题解做出来的。[CSP-J2019江西]道路拆除(A)我们可以把问题转化一下:求出最少要留下多少边,使得从首都出发,能到达\(s_1\)号与\(s_2\)号城市,且所要花费的最短时间分别不超过\(t_1\)与\(t_2\)。最终答
  • 2024-09-29Codeforces Round 975 (Div. 2) CE
    来源:CodeforcesRound975(Div.2)C.CardsPartition题意本身有\(a_i\)张\(i\)牌,现在将牌分成若干份,每一份牌数相等,且每一份都由不同的牌组成同时有\(k\)次补充任意牌的机会,求最多分成一份几张牌思路假定分成\(m\)份,每份\(p\)张牌,那么所有牌加补充的牌等于\(m*p
  • 2024-09-29南沙C++信奥老师解一本通题 1221:分成互质组
    ​ 【题目描述】给定n个正整数,将它们分组,使得每组中任意两个数互质。至少要分成多少个组?【输入】第一行是一个正整数n。1≤n≤10。第二行是n个不大于10000的正整数。【输出】一个正整数,即最少需要的组数。【输入样例】6142033117143175【输出样例】3
  • 2024-09-29csp-s模拟6
    A.一般图最小匹配\(m\)小于\(\frac{n}{2}\)所以对原数组排序后做差分,差分后的数不能选相邻的,设\(f_{i,j,0/1}\)表示前\(i\)个,选了\(j\)个,第\(i\)个选没选直接\(dp\)求最小值就行点击查看代码#include<bits/stdc++.h>constintmaxn=5001;usingnamespacestd
  • 2024-09-29The 13th Shandong ICPC Provincial Collegiate Programming Contest
    目录写在前面I签到A签到D二分答案,贪心G排序,贪心L构造,思维B模拟,拓扑排序E数学,结论,模拟M计算几何,单调性J二进制,连通性问题,并查集K贪心orDP,结论,构造F线段树优化DP写在最后写在前面补题地址:https://codeforces.com/gym/104417。以下按个人向难度排序。妈的调休太顶
  • 2024-09-292516. 每种字符至少取 K 个
    给你一个由字符'a'、'b'、'c'组成的字符串s和一个非负整数k。每分钟,你可以选择取走s最左侧还是最右侧的那个字符。你必须取走每种字符至少k个,返回需要的最少分钟数;如果无法取到,则返回-1。示例1:输入:s="aabaaaacaabc",k=2输出:8解释:从s的左侧取三个
  • 2024-09-28『模拟赛』csp-s模拟赛6
    『模拟赛』csp-s模拟赛6挂分日寄:0+20+0+0喵喵赛时对拍拍了10000个点都没拍出来,赛后一下就拍出错来了,我谔谔。T1DP喵~首先sort一遍方便处理其实转移时加一个abs取绝对值就可,纯纯多此一举设\(f[i,j,1/0]\)为前\(i\)个数中选\(j\)个的最小值若选当前这个数,则\(f[i
  • 2024-09-28[lnsyoj729/luoguP1450/HAOI2008]硬币购物
    题意给出一个长度为\(4\)的序列\(c\),给出\(n\)个询问,每个询问给出一个长度为\(4\)的序列\(d\)和整数\(s\),要求构造出长度为\(4\)的序列\(t\),使得\(s=\sum_{i=1}^4c_i\cdott_i\),且\(\forall(x\in\R)\land(1\lex\le4),t_x\led_x)\),求\(t\)的方
  • 2024-09-2820240925 随机训练
    LinkUpdateMax将总贡献拆成每个位置单独的贡献。假设一共有\(m\)个数未确定。如果\(a_i\neq-1\),那么产生贡献的条件就是:前面每个\(a_j<a_i\)。前面填充的\(cnt\)个空的数都要小于\(a_i\)。第一个条件可以直接判断,第二个考虑使用组合数学。由于只能使用那些小
  • 2024-09-27BOOKS1 - Copying Books
    很显然看到要求最大值最小就可以想到二分答案,然后依次判断长度是否合法。这题的输出比较特殊越靠前的区间长度越小,所以我们要将最后得到的答案从后向前依次划分区间即可。#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constintN=510;intt;intn,
  • 2024-09-27存码
    #include<bits/stdc++.h>usingnamespacestd;#defineLLlonglongconstintN=1e5+5,mod=1e9+7;intn,a[N];vector<int>g[N];LL_2[N],tmp;voiddfs(intu,intm){ for(intv:g[u])dfs(v,m); intcnt=(a[u]>>m)&1,sz=1; for(intv:g