• 2024-06-17B. Neutral Tonality
    原题链接题解1.\(LIS(a)\)已经改变不了了,所以要让插入的\(b\)尽量少地增加\(LIS\)所以要降序、从左到右插入2.\(a\)的相对顺序不变3.此时已知两个数组的相对顺序,因此我们可以贪心地输出两个数组顶端元素中较大的那个为什么可以这样?我们假设输出顶端元素较小的那个,那么
  • 2024-06-11E - Reachability in Functional Graph
    E-ReachabilityinFunctionalGraphhttps://atcoder.jp/contests/abc357/tasks/abc357_e 思路概念:基环树-内生树。https://www.cnblogs.com/Dfkuaid-210/p/14696378.html方法:使用拓扑排序,从入度为0的点开始,依此从外层向内层拆点,直到剩下环,拆换过程中把拆掉的size记到
  • 2024-05-26小猴编程周赛C++ | 环形最大子段和
    学习C++从娃娃抓起!记录下在学而思小猴编程学习过程中的题目,记录每一个瞬间。侵权即删,谢谢支持!附上汇总贴:小猴编程C++|汇总-CSDN博客【题目描述】给出一个长度为n的环形数组a1
  • 2024-05-18第二届“重科杯”重庆科技大学程序设计竞赛(同步赛)ptlks的题解(2024.5.18)
    A.Alice和Bob题意:给定序列A和序列,m组信息\((i,j)\),Alice可以交换\(A_i\)和\(A_j\)任意次,判断Alice是否能将序列A转变为序列B。思路由于Alice可以任意调整m组信息,所以题目所给m组信息\((i,j)\)不影响结果。先考虑k组信息,第i组为\((T_i,T_{i+1})\),\(1\leqT_1\ltT_2\lt...
  • 2024-05-04G1. Division + LCP (easy version)
    原题链接题解1.二分查找前缀出现次数,用\(kmp\)优化查找算法code#include<bits/stdc++.h>usingnamespacestd;chars[200005];intpre[200005]={0},occ[200005]={0};intn,x;intsolve(intlen){intcnt=1;intit=0;for(intj=len+1;j<=n;j++){
  • 2024-04-30ABC350
    Alink把最后三位取成数字,判断是否小于\(349\),大于\(1\),不等于\(316\)。点击查看代码#include<bits/stdc++.h>usingnamespacestd;chars[10];intans;signedmain(){ cin>>s+1; ans+=s[4]-48; ans*=10; ans+=s[5]-48; ans*=10; ans+=s[6]-48;
  • 2024-04-29Atcoder ABC 351 全题解
    乾岩我:G题来咯!!!大火:这G题,大家都不敢做,说是有人在里面放了毒瘤。我:做,做,为什么不做!不做也别想活着!!!(两天后)我:我的G题完成辣!!!!!!AB不讲C显然$2^a*2=2^{a+1}$。考虑用一个栈存球的大小是$2$的多少次方,每次插入球后,不断取出后面两个球,大小相同则合并,否则插入下一个
  • 2024-04-13春季月考 #2
    做题顺序:\(\texttt{B}\to\texttt{A}\to\texttt{C}\to\texttt{D}\to\texttt{E}\)A.牛奶首先可以发现,除了全部都是\(\texttt{L/R}\)的情况,其他的情况一定可以把数组分割成几段全部都是\(\texttt{L,R}\)的段。像是这样:\(\texttt{RRRLLRLLL}\)如果当前段是\(\texttt
  • 2024-04-12D2. Set To Max (Hard Version)
    原题链接题解具体想\(a\)是如何一步一步变成\(b\)是很复杂的,所以我们换个角度思考(比如贡献)遍历每一个\(a[i]\)看看他们能帮助哪些\(a[j]\)变成\(b[j]\)而且不妨碍\((i,j)\)中\(a\)的元素,用数学语言表达就是\(use[j]=1;a[i]=b[j]>a[j];a[l]<a[i],l\in(i,j)or(j,i
  • 2024-04-12D. Cross Coloring
    原题链接题解设想每一个\(x,y\)代表中控台,中控台颜色改变它控制的颜色也会跟着改变,我们倒过来求,这样就能确保每个中控台有没有控制的颜色code#definelllonglong#include<bits/stdc++.h>usingnamespacestd;constllmod=998244353;llxs[200005]={0};llys[200005]
  • 2024-04-07P1314 [NOIP2011 提高组] 聪明的质监员
    P1314[NOIP2011提高组]聪明的质监员题目小T是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有$n$个矿石,从$1$到$n$逐一编号,每个矿石都有自己的重量$w_i$以及价值$v_i$。检验矿产的流程是:给定$m$个区间$\lbrackl_i,r_i\rbrack$;选出一个参数$W$;
  • 2024-03-24牛客--2024中国传媒大学程序设计大赛(同步赛)
    A-小苯的区间和疑惑题意:做法:前缀最大值+后缀最大值 or 线段树维护最大子段和intarr[200005],pre[200005],last[200005];voidsolve(){//小笨的区间和疑惑--前缀最大值+后缀最大值or线段树维护最大自段和intn;cin>>n;for(inti=1;i<=n;i++)cin
  • 2024-03-20P1355 神秘大三角
    原题链接题解叉积的运用,scanf控制输入格式code#include<bits/stdc++.h>usingnamespacestd;structnode{intx,y;}a[100005];intx[200005],y[200005];intmain(){for(inti=0;i<3;i++){scanf("(%d,%d)\n",&a[i].x,&a[i].y);
  • 2024-03-08P6121 [USACO16OPEN] Closing the Farm G
    原题链接题解抽象化抽象成点和边,对于抹除一个点,判断整个图是否联通等价于建立一个点(被抹除点的前一个点),判断这个点与周围点相连后,累积合并次数是否等于点数减一code#definelllonglong#include<bits/stdc++.h>usingnamespacestd;llfa[200005];llfinds(llnow){ret
  • 2024-02-25AT_abc213_d [ABC213D] Takahashi Tour 题解(图&深搜)
    传送门题意有一个\(n\)个点的无向图。从根节点\(1\)开始,按如下规则遍历整个图:如果有连接这个点的其他点没有走过,则到这个点。如果有多个点,那么按从小到大的顺序走。如果有这个点没有其他点或者连接这个点的其他点都走过了,那么:如果这个点是根节点\(1\),结束。否则回
  • 2024-02-19F. Chat Screenshots
    原题链接题解每张截图除了第一个人,其余人均按相对位置排序这道题就变成了给定若干个相对位置,求是否存在可能的绝对位置我们可以建图,作拓扑排序,一个节点能被遍历到当且仅当其所有的父节点都被遍历到当且仅当出现环时,答案为NOcode#include<bits/stdc++.h>usingnamespacest
  • 2024-02-11ABC340
    \(\huge{C}\)link首先,考虑暴力,用一个堆,存所有数,每次拿出最大的数,拆开加入堆,计入答案,直到最大的\(\le1\),时间复杂度\(O(\text{不能过})\)。考虑想求出\(n\),要什么。求\(n\)一定是第一次把\(n\)拆成\(\lfloor{\frac{n}{2}}\rfloor\)和\(\lceil{\frac{n}{2}}\rceil\),答案加上\(n
  • 2024-02-08D. Find the Different Ones!
    原题链接核心\(p[i]\)代表离\(a[i]\)最近的不同元素code#include<bits/stdc++.h>usingnamespacestd;inta[200005]={0};intp[200005]={0};intmain(){intt;cin>>t;while(t--){intn;cin>>n;for(inti=1
  • 2024-02-02【模板】AC 自动机
    和“阿狸的打字机”那道题很类似,也是把询问全部放到树上,拓扑排序一遍求解点击查看代码#include<bits/stdc++.h>usingnamespacestd;strings;intt[200005][26],tot,fail[200005],ans[200005],cnt[200005],d[200005];vector<int>g[200005];queue<int>q;intread1(){
  • 2024-02-01Codeforces Round 922 (Div. 2) 赛后总结
    自豪的是D题做出来了,悲哀的是B题没能做出来C题的绝对值最小D题,DP存不下状态就把状态放进所求值中比赛快结束的时候,我想,这个B题,它但凡需要我通过归并排序或者树状数组求逆序对,不比C题进制转化要难?于是我就猜了一个结论结论是对的,但不幸的是,我编程实现的时候出错了考虑怎样证
  • 2024-01-31ABC334F Christmas Present
    非常好dp,使我线段树旋转。原题传送门分析首先由于两点之间直线线段最短,我们肯定是希望从头一直送到尾,最后回家。但是有了\(k\)的限制,就麻烦了。考虑一个dp。我们设\(dp[i]\)表示刚送完第\(i\)个孩子时所要跑的最短距离。转移的时候我们枚举上一次回家是在送完哪一个孩
  • 2024-01-24D. Very Different Array
    原题链接题解,太抽象了最优情况一定可以是这样:Code#include<bits/stdc++.h>#definelllonglongusingnamespacestd;lla[200005]={0};llb[200005]={0};lll[200005]={0},r[200005]={0};intmain(){cin.tie(0);cout.tie(0);llt;cin>>t;w
  • 2024-01-24【题解 P4197】 Peaks
    Peaks题目描述在Bytemountains有\(n\)座山峰,每座山峰有他的高度\(h_i\)。有些山峰之间有双向道路相连,共\(m\)条路径,每条路径有一个困难值,这个值越大表示越难走。现在有\(q\)组询问,每组询问询问从点\(v\)开始只经过困难值小于等于\(x\)的路径所能到达的山峰中第\(
  • 2024-01-17D - Pyramid
    D-Pyramidhttps://atcoder.jp/contests/abc336/tasks/abc336_d思路https://blog.csdn.net/m0_63925226/article/details/135594715https://www.cnblogs.com/zfxyyy/p/17964302Codehttps://atcoder.jp/contests/abc336/submissions/49377226intn;inta[200005];int
  • 2024-01-07CF1527D MEX Tree 题解
    思路如果一条路径的\(\text{mex}=k\),那么\(0\simk-1\)这些点一定在路径中出现过,并且一定在一条链上。如果不在一条链上,那么就不满足简单路径这一条件了。因此我们在从小到大加点的过程中如果发现一个点不在已求出的链上,那么比这个点编号大的\(k\)答案一定都是\(0\)了