• 2024-09-05luogu P3808/3796
    首先Trie树:#include<bits/stdc++.h>usingnamespacestd;intT,q,n,t[3000005][65],cnt[3000005],idx;chars[3000005];intgetnum(charx){if(x>='A'&&x<='Z')returnx-'A';elseif(x>='a
  • 2024-08-08做题笔记(二)
    [CSP-S2023]消消乐题目传送门[CSP-S2023]消消乐思路考虑DP。显然,设\(f_i\)表示以位置\(i\)结尾的可消除序列的个数,我们对每一个可消除序列考虑模型,大概就是这个样子:\(\text{a}\cdots\text{ab}\cdots\text{b}\)。那么我们当前位置为\(i\),前一个可以与\(i\)匹配的
  • 2024-03-30P1481 魔族密码
    原题链接题解1.由于我刚刚才学字典树,所以我会告诉你这就类似字典树,对字符串终点节点加一,然后搜索统计最大前缀和code#include<bits/stdc++.h>usingnamespacestd;strings;inttree[2000005][65]={0};intnum=0;intcnt[2000005]={0};intinshe(chara){if(a>='a
  • 2024-02-23「CF1575L」 Longest Array Deconstruction
    双倍经验如果本文出锅,请评论或私信提醒这个蒟蒻修改!题意题目给的很清楚了,不多说。分析看到题目,因为在dp题单里,所以一眼是个dp,我们先想朴素算法,可以发现,如果设\(f_{i,j}\)表示前\(i\)个数中删掉\(j\)个所能得到的最大结果,若\(a_i=i\),则\(f_{i,j}=f_{i-1,j}+1\);否则,可
  • 2024-01-30[LMXOI Round 1] Size
    \(\sumd_i<=5*10^7\)一定是解题的突破口;可是,该怎么利用这个条件呢?不妨更进一步——考虑数据的特征,发现数字的种类是有限的点击查看代码#include<bits/stdc++.h>usingnamespacestd;intd[2000005],r[2000005];map<int,longlong>q;intread1(){ charcc=getchar()
  • 2023-12-072-SAT 问题入门
    前言1.本文在非代码部分用\(T\)代替\(true\),\(F\)代替\(false\)。2.本文对于具体的问题解答,只涉及P4782【模板】2-SAT问题,其他类型(如连接符号为“与”、“异或”)暂不涉及。3.请预习强连通相关知识。4.本文中的“到达”和“可达”指由\(i\)点经过一些单向边后可以到达