首页 > 其他分享 >CSP 模拟 44

CSP 模拟 44

时间:2024-10-10 20:01:32浏览次数:7  
标签:pre 暴力 后缀 44 即可 端点 CSP 模拟 前缀

A 02表示法

简洁高精度

B 子串的子串

做法一:数颜色,考虑经典套路,记 \(pre\),然后成了三维数点问题,CDQ,跟暴力同分。
做法二:还是三维数点,但是能 \(n^2\) 的题为啥要上高级东西,暴力固定住右端点,暴力检查左端点,然后对于每个串能贡献的是 pre 到左端点的一段合法区间,然后成了区间的并,再暴力扫一遍,时间复杂度 \(\mathcal{O}(n^2)\)。
做法三:都 \(n^2\) 了为啥还要想能扩展到更一般的做法,还是暴力固定,暴力检查,不过不记 pre 了,记个 suc,表示最后一次出现的位置的左端点,然后每个位置记一下他是 \(c_i\) 个串最后出现的 suc,区间 \([l,r]\) 就是这一段的 \(c_i\)。
做法四:为啥总想记一些东西来扫描做,直接考虑 \([l,r]\) 的答案 \(ans_{i,j}\),对于字符串 \([l,r]\) 的上一次出现位置为 \(x\),则他会使所有左端点在 \([1,x]\),右端点在 \([j,n]\) 的区间答案减 \(1\),二维前缀和差分即可,\(ans_{x,j}--\),做完之后前缀和处理出来每个区间减少的贡献即可,但是我今天才知道二维前缀和直接 \(f_{i,j}=f_{i,j-1}+f_{i-1,j}+f_{i-1,j-1}\) 就行,所以直接这么写也行。

C 魔法咒语

前后缀要不重,自然想到 trie 树,这样他们前后缀就是不重的,建出前后缀的两棵 trie 树,然后考虑什么时候会重,发现当前缀节点的子节点有字母 \(x\) 使,他是不能和后缀 \(x\) 匹配的,因为它的下一个节点也能组合出来这个字符串,所以记一下这个直接统计就可以,但是有例外,当后缀只有一个字母时,它不会受上面的情况限制,因为不能选空前后缀,判一下这个即可,最后就是给出的只有一个字母的串也不能匹配出来,去重后加上即可。

D 表达式

如果询问是定值,直接线段树维护即可。然后发现模数给出,分解质因数后发现是套路 CRT,然后单独维护每个互质因子用 CRT 合并就行。

标签:pre,暴力,后缀,44,即可,端点,CSP,模拟,前缀
From: https://www.cnblogs.com/Ishar-zdl/p/18457020

相关文章

  • 10.10 爆零赛(2023 炼石计划 NOIP 模拟赛 #2)
    炼石计划9月10日NOIP模拟赛#2【补题】-比赛-梦熊联盟(mna.wang)模拟赛恒等式:\(0+0+0+0=0\)。复盘T1好像可做。有个显然的\(n^2\)DP。推式子的时候猜到了\(\gcd=1\)的做法。进一步尝试正解未果。T2一眼只会爆搜。想到了\(b\timesb!\)的做法,应该能过\(......
  • 2024CSP-J模拟赛————S12678
    禁止抄袭!!!一,赛中得分硬币(coin)100数位(digit)100划分(partition)0路径(path)0总分200二,赛中概括第一第二题30分钟做完,三四题不会。三,题目解析硬币(coin)1.1问题描述小明很喜欢 100这个数字,父母给他一些零花钱,这些零花钱的面值是 a 和 b,即小明......
  • CSP 模拟 43
    A欧几里得的噩梦每一个数最多只有两个\(1\),模拟线性基的插入过程,发现插入是一条链,没有之后连向\(0\)结束,拿并查集维护这条链,对于单个\(1\),直接插入即可,两个\(1\)的检查两个\(1\)最后的位置是否一样,如果一样就不能插入,否则大到小连边。B清扫对于一个不为叶子的节点,清......
  • CSP 模拟 42
    A五彩斑斓枚举上面两个顶点同色,同列的同色,拿桶记一下就行。赛时直接给颜色分了个块,逐个块处理的。B错峰旅行方案数直接乘起来即可,离散化后差分扫描线。C线段树观察到性质:一个查询的区间个数为\(1\)加上分裂次数,当它和一个区间有交但并不包含时,就会分裂一次。设\(f_{i,......
  • 2024.9.30 CSP
    模拟赛赛后看着分哗啦啦的往下掉。T1median找中位数,赛时假做法A了,没想到直接搜。。。code#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+5,mod=998244353;intn;inta[6][N],ans,f[6][4];unordered_map<int,bool>mp;intdfs(intp,intl,int......
  • [赛记] 多校A层冲刺NOIP2024模拟赛04
    这场ACCODERS忘交,结果最后想起来匆匆只交了T1,然后文件名还没改,所以爆零了。。。02表示法100pts高精度,不说了;点击查看代码#include<iostream>#include<cstdio>#include<string>#include<cmath>#include<algorithm>usingnamespacestd;stringp[605];stringan......
  • 2024.9.25 多校 模拟赛
    模拟赛假做法上大分。T1几何bitset优化dp。有空学,先挂个暴力。code#include<bits/stdc++.h>usingnamespacestd;constintN=5e5+5;intT,n,m,t;chars[N],x[55],y[55];unordered_map<int,unordered_map<int,bool>>f[N];unordered_map<int,unordered_map<i......
  • 2024.9.28 模拟赛 CSP6
    模拟赛单\(log\)双\(log\)不如三\(log\)。T1一般图最小匹配简单dp,水。\(O(n^2)\)其实也是可反悔贪心的板子,可以\(O(n\log(n))\)做。考虑排序后求差分数组,就变成不能选相邻的。然后就是可反悔贪心板子。用双向链表(记录前驱后继)维护,然后放进堆里。板dp#include<b......
  • [赛记] csp-s模拟10
    欧几里得的噩梦-pts看见是个线性基的题就没打;其实也不是线性基,只不过模拟了一下它的过程;考虑插入一位数时它能不能被表示,其实就是它异或上线性基中的某些值后可不可以为$0$,那么我们就可以将插入的单独一位数与$0$连边,将两位数互相连边,这样每插入一位数时看看它与$0$......
  • Day3 备战CCF-CSP练习
    Day3题目描述目前在一个很大的平面房间里有\(n\)个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过\(r\)就能互相建立网络连接。除此以外,另有\(m\)个可以摆放无线路由器的位置。你可以在这些位置中选择至多\(k\)个增设新的路由器。你的......