• 2024-05-03[分块] [Luogu AT_joisc2014_c] 历史研究
    题目描述IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记。JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件。日记中记录了连续\(N\)天发生的事件,大约每天发生一件。事件有种类之分。第\(i\)天发生的
  • 2024-04-1920240419
    T1NFLSOJP3581Nomorexorproblems,please!实际上是异或和是最小公倍数的倍数。我们知道异或的结果二进制位数小于等于原来的。如果两个数没有倍数关系,则其最小公倍数一定不整除其异或和,因为最小公倍数的二进制位数至少多\(1\)。所以合法的子集要么异或和为\(0\),要么一个
  • 2024-04-19POI-4
    T1洛谷P3479GAS-FireExtinguishers考虑贪心,从叶子往上,对于每个点能不放就不放,实在要放了再放。要知道一个点能不能不放,需要知道子树中最深的还没有被覆盖的点的距离。记\(f[i][j]\)为\(i\)子树中距离\(i\)为\(j\)的点有多少点没有被覆盖。一个点放了灭火器之后可以覆
  • 2024-04-1620240412
    T1洛谷P9923Przyciski对于每个\(\texttt{1}\),将其所在行与列连边。最终构成的图显然是二分图。我们希望能在图中选出若干条边,使得原图的点集和选出的边构成的图中每个点度数的奇偶性都相同。以下将度数为奇数的称为奇数解,度数为偶数的称为偶数解。首先如果图中存在环,则一定存
  • 2024-04-0420240404
    T1洛谷P3436PRO-ProfessorSzu首先缩点。然后从所有没有入度的强连通分量开始dfs,进行dp,数一下每个点到终点有多少路径。要注意的是当且仅当一个点能够到达终点时才能够用来更新其他点的dp值。代码#include<iostream>#defineintlonglongusingnamespacestd;in
  • 2024-03-30P8736 [蓝桥杯 2020 国 B] 游园安排
    原题链接题解1.二分+dpcode#include<bits/stdc++.h>usingnamespacestd;stringname[1000005],dp[1000005],st[1000005];intmain(){strings;cin>>s;intcnt=0;for(inti=0;s[i];i++){if(isupper(s[i]))name[++cnt]=s[i];
  • 2024-03-16Tarjan整理
    求强连通分量个数#include<iostream>#include<cstdio>#include<stack>usingnamespacestd;structsss{ intt,ne;}e[1000005];inth[1000005],cnt;voidadd(intu,intv){ e[++cnt].ne=h[u]; e[cnt].t=v; h[u]=cnt;}intdfn[1000005],
  • 2024-03-16有向图的DFS(c++题解)
    题目描述给定一个有向图(不一定连通),有N个顶点,M条边,顶点从1..N依次编号,求出字典序最小的深度优先搜索顺序。输入格式第1行:2个整数,N(1≤N≤200)和M(2≤M≤5000)接下来M行,每行2个整数I,J,描述一条边从顶点I指向顶点J输出格式仅一行,一个顶点编号序列,表示字典序最小的深度优先搜索
  • 2024-02-19P3411 序列变换 题解
    自己做不出来,看现在题解区的题解讲的都不咋清楚。懂了之后来为后人铺路。而且我的马蜂比较好看题目传送门我能看懂这道题,主要是依靠了这篇题解的帮助。首先我们只关注数的相对关系,所以可以离散化。注意到值域\(10^6\),用数组离散化。这道题可以用贪心做。(有一些定义先往下看)
  • 2024-02-02H. Sugar Sweet II
    单向边森林不能通过dfs找环抽象的题目需要通过模拟样例理解题意列表模拟样例链式前向星双倍空间(边&边的访问函数)*点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintmod=1000000007;longlonga[500005],b[500005],w[500005],c[500005],p[500005],cn
  • 2024-01-26【板子】KMP
    //lgp3375//Copyrightyeyou26#include<bits/stdc++.h>usingnamespacestd;charp[1000005],s[1000005];intlenp,lens;intlst[1000005];voidinit();voidpre_work();voidkmp();voidout_put();intmain(){freopen("working.in",&qu
  • 2023-12-20一些模板
    1e12找原根板子#include<bits/stdc++.h>#definelllonglongusingnamespacestd;lln,prime[1000005],is_prime[1000005],cnt,qv[1000005],qn[1000005],top,g,Phi,sum,ans[1000005],mod;voidfj(llx){ top=0; for(lli=1;prime[i]*prime[i]<=x;i++){ if(x%pri
  • 2023-11-15B3871 题解
    题目链接题意简述给定一个正整数\(N\),将它的因数分解式按规定输出。题目分析模拟题意即可。具体地,我们可以枚举\(2\)到\(\lfloor\sqrtN\rfloor\)中所有数\(i\),如果\(i\)能整除\(N\),则不断地从\(N\)中除掉\(i\),直到\(i\)不再能整除\(N\),在这个过程中,我们同
  • 2023-10-16图论2
    Week10P1636Einstein学画画知识点:欧拉路存在欧拉路的条件:图是连通的,有且只有2个奇点。存在欧拉回路的条件:图是连通的,有0个奇点。思路:统计所有点的度数:如果是奇数结果加一;如果是偶数则是途中的点,最后结果除以二。注意:连成一串的点所有点的度都是偶数,但是可以一笔
  • 2023-10-11【题解 P3586】 LOG
    [POI2015]LOG题目描述维护一个长度为\(n\)的序列,一开始都是\(0\),支持以下两种操作:Uka将序列中第\(k\)个数修改为\(a\)。Zcs在这个序列上,每次选出\(c\)个正数,并将它们都减去\(1\),询问能否进行\(s\)次操作。每次询问独立,即每次询问不会对序列进行修改。输
  • 2023-10-03批量造数据
    #include<bits/stdc++.h>usingnamespacestd;intmain(){ charc[1000005]; srand(time(0)); for(inti=1;i<=19;i++){ sprintf(c,"%d.in",i); freopen(c,"w",stdout); …………………… fclose(stdin); sprintf(c,"%d.out",i
  • 2023-09-18CF1858E1 做题笔记
    题目链接赛时没做出来,晚上补了一下,发现是一种很好玩的数据结构。由于可以离线又要支持删除后$k$个又要支持撤销操作,不会写主席树只能选择操作树。对序列按照时间建成一颗操作树,处于某个点的回合时,这个序列的样子就是它以及它的祖先。来依次考虑某个操作,设当前是序列的末尾
  • 2023-09-17P4071 [SDOI2016] 排列计数
    LLink显然的,答案就是\(C_n^m*D_{n-m}\)#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<stack>#include<set>#include<map>#include<ctime
  • 2023-08-24「SDOI2016」排列计数tj(附压行代码)
    现在求有多少种长度为n的序列A,满足以下条件:1~n这n个数在序列中各出现了一次若第i个数A[i]的值为i,则称i是稳定的。序列恰好有m个数是稳定的满足条件的序列可能很多,序列数对10^9+7取模。输入第一行一个数T,表示有T组数据。接下来T行,每行两个整数n、
  • 2023-05-27最小生成树学习笔记
    什么是最小生成树一个图中可能存在多条相连的边,我们从一个图中挑出一些边生成一棵树(树就是指一个无向连通图不包含回路(连通图中不存在环))。这仅仅是生成一棵树,还未满足最小,当图中每条边都存在权重时,这时候我们从图中生成一棵树(n-1条边)时,生成这棵树的总代价就是每条边
  • 2023-04-08P1972 [SDOI2009] HH的项链
    P1972[SDOI2009]HH的项链【解法一】树状数组解法本题核心:如何判断一个区间内的贝壳是否重复?当右端点\(r\)固定时,不论\(l\)取何值,对于任意一组重复的贝壳,都可以只统计最右端的贝壳。原因:设一组重复贝壳中最右端的贝壳所在的位置为\(pos_r\),那么当\(pos_r<l\)时,其他
  • 2023-03-08【理论】左偏树笔记
    左偏树是可并堆的一种实现方法。左偏,很容易形象地理解它是什么意思。但对于一棵树,如何用形象和具体化的语言来描述左偏性质?考虑定义\(dis_i\)表示\(i\)的子树中最近
  • 2023-02-26区间 (interval)
    题目链接:https://ac.nowcoder.com/acm/problem/16722差分模版#include<bits/stdc++.h>usingnamespacestd;#definelllonglongllsum[1000005];lla[1000005];
  • 2023-01-22CF471D MUH and Cube Walls
    简要题意题目传送门平面上有两堵墙\(a,b\)。长度分别为\(n,w\)。求\(a\)墙顶端有多少个区间与\(b\)墙顶端一样。\(1\len,w\le2\times10^5,1\leqa_i,b_i\l
  • 2023-01-15P1972 [SDOI2009] HH的项链
    题目传送门题意分析题目部分本题核心:如何判断一个区间内的贝壳是否重复?当右端点\(r\)固定时,不论\(l\)取何值,对于任意一组重复的贝壳,都可以只统计最右端的贝壳。原