suf
  • 2024-11-15NOIP2024加赛5
    NOIP2024加赛5题目来源:2023NOIPA层联测31\(T1\)HZTG5777.暴力操作(opt)\(40pts\)先将\(\{a\}\)升序排序。因为\(\left\lfloor\dfrac{\left\lfloor\frac{a}{b}\right\rfloor}{c}\right\rfloor=\left\lfloor\dfrac{a}{bc}\right\rfloor\),先钦定\(
  • 2024-11-14CF1965F Conference
    记录一个自己切掉的*3300。首先注意到这是个匹配问题,根据形式很容易想到hall定理。乍一看认为对于一段区间的判定只需要判定所有子串就行了。下面合法相当于是hall定理中的\(|S|\le|N(S)|\),满足条件则相当于是存在完备匹配。考虑这个怎么判,我先考虑了对于一个段\([l,r]
  • 2024-11-132024-11-13:求出所有子序列的能量和。用go语言,给定一个整数数组nums和一个正整数k, 定义一个子序列的能量为子序列中任意两个元素之间的差值绝对值的最小值。 找出nums中长度为k的所有子
    2024-11-13:求出所有子序列的能量和。用go语言,给定一个整数数组nums和一个正整数k,定义一个子序列的能量为子序列中任意两个元素之间的差值绝对值的最小值。找出nums中长度为k的所有子序列的能量和,对结果取模10^9+7后返回。输入:nums=[1,2,3,4],k=3。输出:4。解释:
  • 2024-11-132024-11-13:求出所有子序列的能量和。用go语言,给定一个整数数组nums和一个正整数k, 定义一个子序列的能量为子序列中任意两个元素之间的差值绝对值的最小值。 找出nums中长度为k的所有子
    2024-11-13:求出所有子序列的能量和。用go语言,给定一个整数数组nums和一个正整数k,定义一个子序列的能量为子序列中任意两个元素之间的差值绝对值的最小值。找出nums中长度为k的所有子序列的能量和,对结果取模10^9+7后返回。输入:nums=[1,2,3,4],k=3。输出:4。解释:nums
  • 2024-11-12CF785D 题解
    CF题目luogu题目题解似乎清一色是同一个做法,这里给一个容斥的做法。首先枚举一个位置\(i\),设\([1,i]\)的左括号个数为\(p\),\([i+1,n]\)的右括号个数为\(q\),那么以\(i\)这个位置为分界点的合法括号数有\(\sum_{i=1}^{\min(p,q)}C_p^iC_q^i\)个。通过范德蒙德卷
  • 2024-11-01后缀数组求 LCP 和相关证明
    后缀数组求LCP和相关证明一些定义\(\text{SA}(i)\)排名为\(i\)的后缀左端点;\(\text{rank}(i)\)左端点为\(i\)的后缀排名;\(\text{suf}(i)\)左端点为\(i\)的后缀;\(\text{lcp}(S,T)\),串\(S\)和\(T\)的最长公共前缀,即\(\max\left\{x|\forally\lex,S_{y}=S_{
  • 2024-10-1324.10.13
    P3648P3648[APIO2014]序列分割李超树用多了已经不会单调队列维护斜率优化了...首先切的顺序不影响答案。\((x+y)z+xy=x(y+z)+yz\)。更多份同理。\(sum\)表示前缀和,\(suf\)表示后缀和。设\(f_{i,j}\)表示前\(i\)个数切成\(j\)份的最大值。\(f_{i,j}\ge
  • 2024-10-08csp-s模拟10
    rank31,垫底了,T10pts,T218pts,T30pts,T450pts状态有点不好,策略有问题,T4是可以切的,但是不知道为什么弃了。T1不会线性基寄。T3奇怪结论题,T2结论题。在猜结论上还是不行。T1欧几里得的噩梦用到了线性基线性无关的性质,将两个数连边,把环去掉,并查集判断即可。统计答案用快速
  • 2024-09-292024 Autumn Training #1 DF (by hzy)
    D.咸鱼跑酷(解有限trick)大意:长度n跑道,每个点可以二选一道具(+or*一个正数),q个询问从初始分数u,从l跑到r,求最大分数(结果模P)。可以预处理\(mul_i\)和\(add_i\),每个点要么乘要么加的数,把点分为两类,可乘点与不可乘点,\(mul_i=1\)意味着\(i\)点不可乘只能加,决策固定,因此我们需
  • 2024-09-22CF1239E Turtle 题解
    Description一只乌龟从\(2\timesn\)的棋盘的左上角走到右下角,只能往下或往右,需要给出一种方案来分配\(2n\)个数字使得乌龟走过的路径上的数之和的最大值最小。\(2\leqn\leq25,0\leqa_{1,i},a_{2,i}\leq5\times10^4\)。Solution设\(pre_{i}=\sum_{j=1}^{i}{a_{1,i}
  • 2024-09-12[NOIP 2024 模拟2]数组操作
    [NOIP2024模拟2]数组操作题意有\(n+2\)个整数\(a_0,a_1,...,a_n,a_{n+1}\),\(a_0=a_{n+1}=0\)。你需要做确切地\(n\)次操作,每次数组操作为以下形式:选择一个整数\(x\)满足\(a_x\ne0\),使得\(a_x=0\),令\(l=\max_{i<x,a_i=0}i,r=\min_{i>x,a_i=0}i\)
  • 2024-09-0420240904:字符串选做
    P4555[国家集训队]最长双回文串题意:给定字符串\(s\),找到他最长双回文串\(t\)的长度。双回文串定义为存在一个\(i>1\)使得\(t[1,i)\)和\(t[i,n]\)都是回文串。\(\verts\vert\le10^5\)。二分哈希求出所有回文中心的半径,设以\(i\)为中心的最长回文串为\([l_i,
  • 2024-09-01CF1826D
    CF1826D链接:Problem-1826D-Codeforces题目大意:给你一个数组,让你选择一个区间\([l,r]\)设选中的区间为\(b\),\(b_{i_1}+b_{i_2}+b_{i_3}\)为区间内前三大的值,你需要选择一个区间使得\(b_{i_1}+b_{i_2}+b_{i_3}-(r-l)\)值最大,输出最大值思路:我们发现
  • 2024-08-30P8304 [CoE R4 D] 01 串
    思路:要注意到添加\(1\)和删除\(0\)是等价的。先令\(0\to-1\)。首先猜了一个结论,先顺着走,做一个前缀和,若当且位置的前缀和\(<0\),那么需要删除这个位置的\(0\),使得前缀和为正;然后再反着做一遍,那么答案就是删除的\(0\)的个数。暴力Code:intmain(){n=read(),
  • 2024-08-28CF17C Balance
    题意给定一个由abc组成的字符串。你每次可以将相邻两个字母的其中一个替换为另一个。问使得三种字符在字符串中出现的次数两两之差不能大于\(1\)的方案数。对\(51123987\)取模。\(n\le150\)。Sol这个奇怪的模数没用。对答案的字符串进行观察,不难发现一个性质。
  • 2024-08-26CF2003F 解题报告
    题目描述现在有三个长度为\(n\)的序列\(a,b,c\)。你需要提取一个子序列\(p_1,p_2,\dots,p_m\),满足如下条件:\(\foralli\in(1,m],p_i>p_{i-1}\)。\(\foralli\in(1,m],a_i\geqa_{i-1}\)。\(b_{p_1},b_{p_2},\dots,b_{p_m}\)是互不相同的。在此基础上最大化
  • 2024-08-15CF1988D The Omnipotent Monster Killer
    luogu中文题面:https://www.luogu.com.cn/problem/CF1988D树形dp。我们只关心子树的根节点v什么时候被删去。dp[u][i]+=min(dp[v][1...i-1,i+1...T]).T是log(n)的。因为\(T\leqMex(u)\),而考虑要多少节点使\(Mex(u)=T\),有\(f_T=1+f_1+...f_{T-1}\)得\(T=log_2n\)不
  • 2024-08-072024杭电多校6-11
      CODE:1#include<bits/stdc++.h>2#definerep(i,a,b)for(inti=a;i<=b;i++)3#definedwn(i,a,b)for(inti=a;i>=b;i--)4#defineMAXN1025015#defineinf999999996usingnamespacestd;7typedeflonglongll;8inlinein
  • 2024-08-05牛客多校2024-6
    A-Cake(神金,害我调了一个半小时)Alice和Bob玩一个游戏。游戏分为2阶段。阶段1:有一棵边权值为\(0\)或\(1\)的有根树,两人轮流走,Alice先走,走到叶子就停下来。记录下经过边的权值形成一个字符串\(S\)阶段2:Bob将一个蛋糕切成\(len(S)\)块,块可以为空。然后遍历\(S\)的
  • 2024-07-31HDU2024 R4
    T4先把四组分成两组,左边两组叫\(L\),右边两组叫\(R\)。直接爆搜每个数属于\(L\)还是\(R\),过程中顺带\(01\)背包出两组分别能取到哪些子集异或和。接下来不妨设\(w_{f(A)}\gew_{f(B)}\),\(w_{f(C)}\gew_{f(D)}\)。若\(w_{f(A)}\gew_{f(C)}\),则答案为\(w_{f(A)}-w_
  • 2024-07-27航电第三场(单峰数列)
    单峰数列题意对于一个整数数列,如果其先严格递增,然后在某一点后严格递减,我们称这个数列为单峰数列(严格递增和严格递减的部分均要是非空)。给定长度为n的整数数列\(a_1,a_2,…,a_n\),请你支持q次操作:1lrx:将\(a_l,a_{l+1},…,a_r\)的每个数加x。2lr:判断\(a_l,a_{l
  • 2024-07-23CF848C Goodbye Souvenir
    CF848CGoodbyeSouvenircdq分治求动态二维数点先考虑答案,对于一种颜色\(c\),假设出现位置集合为\(S\),每个位置的前继记为\(pre_i\),那么可以写成:\[\sum\limits_{i\inS|pre_i\geL|i\leR}i-pre_i\]如果不修改,可以看到题目求的就是矩形横坐标\([1,R]\)到纵坐标\([L,n]\)
  • 2024-07-21暑假集训CSP提高模拟4
    暑假集训CSP提高模拟4\(T1\)P134.WhiteandBlack\(0pts\)原题:[ARC148C]LightsOutonTree翻转方式:从根节点进行\(DFS\),若遇到黑点就进行翻转。最后一定能使全树均为白点,即不存在无解的情况。进而有每个点仅会被主动翻转一次,且翻转顺序与最终结果无关。观察到
  • 2024-07-19P9032 [COCI2022-2023#1] Neboderi
    题意给长度为\(n\)的数组\(a\),求长度不小于\(k\)的区间\([l,r]\)使得\(\gcd_{i=l}^ra_i\times\sum_{i=l}^ra_i\)最大,输出这个最大值。\(1\lek\len\le10^6,1\lea_i\le10^6\qquad\text{2.5s512MB}\)题解考虑分治(这是套路,想不到只能说做题少别打我)。
  • 2024-06-17Codeforces Round 953 (Div. 2) A - F
    A编号为\(n\)的一定选,第二叠书在\(1\simn-1\)选最大的。voidsolve(){ cin>>n; for(inti=1;i<=n;++i){ cin>>a[i]; } intans=a[n]; intx=0; for(inti=1;i<n;++i){ x=max(x,a[i]); } cout<<ans+x<&