• 2024-07-0720240705
    T1NFLSOJP5030最小表示考虑两个串本质相同的条件,发现如果计算出每一位上的字母距离它上一次出现的距离\(dis_i\),那两个串本质相同等价于所有\(dis_i\)相同。注意到这个东西只和相对位置有关,所以只需要先对原串求一遍\(dis\)数组,然后对这个\(dis\)数组后缀排序一下,求出
  • 2024-02-23「ABC215G」 Colorful Candies 2
    题意概括有\(n\)个糖果,每种都有一个颜色\(c_i\),求对于所有\(k\in[1,n]\),求出\(C_n^k\)种方案中糖果种类的期望数,对\(998244353\)取模。分析通过期望的定义,设\(vis_i\)表示每种颜色有没有被选,颜色总数为\(m\),则期望为\(E(\sum\limits_{j=1}^{m}vis_j)\),由线性期望
  • 2024-02-09P2985 [USACO10FEB] Chocolate Eating S
    原题链接题解看到使最不开心的一天尽可能的开心,这是要使最小值尽可能的不小,二分思路由此而来,剩余的就是贪心模拟最坏时间复杂度约为$O(d·sum(H))≈5·10^4·log2(5·10^{10})≈1777060.45$坑点:剩下的巧克力要在最后一天全部吃完\(Code\)#include<bits/stdc++.h>#d
  • 2024-02-04莫队算法
    简要介绍:莫队算法是先进行分块,然后按照分块来排序,然后对已知区间进行增减以达到所求区间,记录下答案,最后按照所询问的顺序进行输出答案。如对于已知区间[l,r]要求[l-1,r],[l-2,r],[l-3,r],[l-4,r],则将已知区间向左移,同时进行add添加操作;而对于要求[l,r+1],[l,r+2],[l,r+3],[l,r+
  • 2023-12-20P3386 【模板】二分图最大匹配
    原题链接洛谷题解很详细,自己写了些理解在代码注释里代码#include<bits/stdc++.h>usingnamespacestd;intatch[50005]={0};intvis[50005]={0};vector<int>G[505];intweiy(intnow)//让now在他的“仓库”里按顺序找下一个能连的右点,找得到返回1,找不到返回0{vis[n
  • 2023-12-07CF1732E - Location
    警告&题外话赛时看都没看这道题,赛后看感觉还行。(虽然这题我两个小时写不完,TLE十几次)此题偏难,代码难度较大(对于我的方法),建议评黑,不建议没做完数列分块入门九道的人做,因为不会讲分块基本操作。如果有更好方法的不要嘲讽我。如果发现我方法正确性与时空复杂度有误的请私聊。(免
  • 2023-11-22123
    #include<bits/stdc++.h>usingnamespacestd;intn;vector<int>v[50005];boolvis[50005],vis2[50005];inta[50005],ans=INT_MAX,fa[50005],s[50005];intdfs(intx){   intss=0;   if(vis[x])       return0;   if(v[x].size()==1&&x!=1)  
  • 2023-07-07[HNOI2008] 玩具装箱 题解
    很难得遇到细节题打码5分钟调试两小时感谢游老师送出的1.5h调试,感激(争取每天用我的代码训练老师的该题能力)细节/思路见注释#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;/*本题细节很多!!!1.注意要把‘0’放进去,否则'1'一直弹不出去,导致答案偏大2
  • 2023-06-03P1108 低价购买
    这题其实就是一道最长下降子序列,只是多了一个求方案数很容易想出方法,设g[i]表示以第i个数结尾的最长下降子序列的方案数那么每次求完f[i]便利j=1~i-11.f[i]=f[j]且a[i]=a[j]g[j]=0因为方案数相同且结尾相同,那么前面的方案肯定一样,所以把g[j]置02.f[i]=f[j]且a[i]<a[j]
  • 2023-02-12YACS 2023年1月月赛 甲组 T2 分割数列(二) 题解
    题目链接继上个月的分割数列(一)又出了这道题。首先还是考虑$n^2DP$,设$f[i]$为分到$i$个的最小权重之和。转移枚举上一个在哪里分就行了。显然时间会超限,我们考虑
  • 2023-01-25codeforce edu round 142 D. Fixed Prefix Permutations
    题目链接:https://codeforces.com/contest/1792/problem/D题意是给出n个长度为m的排列,定义排列p*q为\(r_j=q_{p_j}\),令一个排列的价值p为最大的k使得\(p_1=1,p_2=2
  • 2022-10-21N的倍数
    传送门好题!思路独特。\(n+1\)个前缀和肯定有两个相同的。#include<bits/stdc++.h>usingnamespacestd;ints[50005],pos[50005],a[50005];intmain(){ intn,fl=0
  • 2022-09-23【NEERC2011】【GYM100085F】Flights 题解
    【NEERC2011】【GYM100085F】Flights题意给定\(n\)个抛物线,保证开口向下且与\(x\)轴的两个交点都在\(x\)轴正半轴或原点。\(m\)次询问,每次询问给定四个数\(L,R,
  • 2022-08-31P3195 [HNOI2008]玩具装箱
    给定序列\(C\),将原序列拆成几个部分,每个部分\([i,j]\)费用为\(j-i+\sum^{j}_{k=i}C_k\),最小化费用。\(n\leq5\times10^4\)。定义\(sum[i]\)为前\(i\)项的