REP
  • 2024-11-21SS241121B. Soso 的模法矩阵(modmat)
    SS241121B.Soso的模法矩阵(modmat)题意给你长度为\(n\)的\(\{a_i\}\),长度为\(m\)的\(\{b_i\}\),设\(a_i'=\prod_{j=1}^ia_i,b_i'=\prod_{j=1}^ib_i\),对所有\(i\in[1,n],j\in[1,m]\),求\[(a_i'\bmodb_j')\bmod998244353
  • 2024-11-19ABC378
    A.Pairing模拟代码实现#include<bits/stdc++.h>usingnamespacestd;intmain(){vector<int>a(4);cin>>a[0]>>a[1]>>a[2]>>a[3];ranges::sort(a);if(a[0]==a[1]anda[2]==a[3]){
  • 2024-11-19多校A层冲刺NOIP2024模拟赛24
    选取字符串建出失配树以后直接dp就好了。但场上现推的kmp……点此查看代码#include<bits/stdc++.h>usingnamespacestd;#definerep(i,s,t,p)for(inti=s;i<=t;i+=p)#definedrep(i,s,t,p)for(inti=s;i>=t;i-=p)#ifdefLOCALFILE*InFile=freope
  • 2024-11-19NOIP2024加赛6
    一签三计数,罚坐了。草莓简单贪心,随便贪就过了。点此查看代码#include<bits/stdc++.h>usingnamespacestd;#definerep(i,s,t,p)for(inti=s;i<=t;i+=p)#definedrep(i,s,t,p)for(inti=s;i>=t;i-=p)#ifdefLOCAL FILE*InFile=freopen("in.in","r
  • 2024-11-19R语言 | 宽数据变成一列,保留对应的行名和列名
    对应稀疏矩阵转为宽数据框,见数据格式转换|稀疏矩阵3列还原为原始矩阵/数据框,自定义函数df3toMatrix()目的:比如查看鸢尾花整体的指标分布,4个指标分开,画到一个图中。每个品种画一个图。1.数据整理:宽变长手工版dat0=irisdat=unlist(dat0[,1:4])|>as.data.frame()
  • 2024-11-17[AGC032B] Balanced Neighbors 题解
    考虑先写个暴力\(O(n2^m)\)的输出一下结果,看一下n=4,5,6的(尤其是n=6的)结果,尤其是每个点像其余哪几个点连边,然后就想到了构造方案。代码constintN=109;intn;inte[N][N];voidskymaths(){read(n);if(n%2==0){rep(i,1,n){
  • 2024-11-16ARC100D/F Colorful Sequences
    题意定义一个长度为\(n\)的序列为k好序列当且仅当该序列存在一个长度为\(k\)的连续子序列构成\(1\simk\)的排列。定义一个k好序列的权值为特殊序列序列\(\{b_i\}\)在该序列中的出现次数。序列值域为\([1,k]\),求所有k好序列的权值之和。\(n\le2.5\times10^4,k
  • 2024-11-16题解:ABC013D 阿弥陀
    先考虑\(D=1\),明显可以\(O(M)\)模拟预处理出在最上面的每个位置往下走会走到什么位置,之后每次就可以\(O(1)\)查询了。当\(D>1\)时,可以依赖预处理的数据每次\(O(D)\)暴力查询。又注意到每次对所有位置进行的变换操作是一样的,可以倍增后用类似快速幂的方法优化到\(O(\log
  • 2024-11-15NOIP2024加赛5
    喜欢每个包绑一个hack是吧。暴力操作(opt)容易发现答案具有单调性,考虑二分答案。还发现只需要处理\(1\sim\left\lceil\frac{n}{2}\right\rceil\)即可。发现如果\(c_{i}>c_{j}且i<j\),那么选\(j\)肯定更优。有\(\left\lfloor\frac{a}{bc}\right\rfloor=\left\lfloor\frac{\left\l
  • 2024-11-15P1437 敲砖块 题解
    题意在一个凹槽中放置了\(n\)层砖块、最上面的一层有\(n\)块砖,从上到下每层依次减少一块砖。每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示:14154323333376221311222331如果你想敲掉第\(i\)层的第\(j\)块砖的话,若\(i=1\),你可以直接
  • 2024-11-14状压 DP 做题记录
    1.普通状态压缩DPI.P1896[SCOI2005]互不侵犯\(f_{i,j,st}\)表示前\(i\)行中放置了\(j\)个国王,当前行状态为\(st\)的方案数。可以预处理出合法的状态与其popcount,转移时枚举当前行状态和上一行状态,合法就转移。constintN=20,inf=1e9,mod=998244353;constll
  • 2024-11-14CF1416F Showing Off
    万物皆可匈牙利!首先这道题有几个好想的性质,对于一个位置\((i,j)\),这个位置连的另一个能到达的位置这个位置同样能够到达。所以,如果四周存在\(S_{x,y}<S_{i,j}\),那么我们可以直接将\((i,j)\)连边到\((x,y)\),\(A_{i,j}\leftarrowS_{i,j}-S_{x,y}\)。我们将这样的位置\((i,j)
  • 2024-11-14CF1965F Conference
    记录一个自己切掉的*3300。首先注意到这是个匹配问题,根据形式很容易想到hall定理。乍一看认为对于一段区间的判定只需要判定所有子串就行了。下面合法相当于是hall定理中的\(|S|\le|N(S)|\),满足条件则相当于是存在完备匹配。考虑这个怎么判,我先考虑了对于一个段\([l,r]
  • 2024-11-14CF1835F Good Graph
    小清新图论题。题目大概说了个关于hall定理的东西,不多赘述了。先处理NO,这是好处理的,在跑匈牙利的时候如果失配那就把增广到的点集输出即可。然后处理YES,注意到两个紧密的集合合并还是紧密的集合。那么我们考虑对每个左部点\(u\)找到最小的包含他的紧密的集合\(S_u\),这个
  • 2024-11-13[Ynoi2018] 未来日记
    [Ynoi2018]未来日记老早之前就想写了,人生中第一道大分块,调了一上午+下午一个小时,对拍了不知道多少万组,终于过了。\[\Huge{本题不卡常本题不卡常本题不卡常本题不卡常本题不卡常本题不卡常本题不卡常}\]\[\Huge{快来写快来写快来写快来写快来写快来写快来写快来写快来写快来写
  • 2024-11-12多校A层冲刺NOIP2024模拟赛21
    以为150要垫底了,没想到还有高手。送信卒签,没一会就写完但因为交的太晚被猫娘抢了首A。恼火。简要题意给一个\(n\timesm(n,m\le100)\)的网格图,左右走的代价为\(1\),上下走的代价为\(k\),求最小的\(k\),使得\((sx,sy)\)到\((tx,ty)\)的代价恰好为\(s(s\le10^5)\)。数据保证有解
  • 2024-11-10CF2009G2 Yunli's Subarray Queries (hard version)
    首先考虑计算\(f([a_1,a_2,\cdots,a_k])\):发现对于在同一条斜线上的\(a_i\),\(a_i-i\)的值是相同的。统计出\(a_i-i\)的众数\(x\),则\(k-x\)次操作就可以将这一段变成连续数组。处理好了第一个长度为\(k\)的段,向右滑动窗口,只需要把左侧出去的\(a_1-1\)出现次数减1,
  • 2024-11-10全零子矩形计数问题
    经典问题,但是我为什么不会呢?????题意给定一张\(n\timesm\)的01矩阵,求出有多少个子矩阵使得子矩阵内没有1。\(n,m\le10^3\)分析考虑枚举每一行,计算以该行上每个点为右下角的合法子矩形个数\(\sumsum_{i,j}\),也就是说,计算左上角的个数使得左上角和该右下角形成的子矩形不
  • 2024-11-09多校A层冲刺NOIP2024模拟赛20
    简评:新拉的
  • 2024-11-07SS241107B. 子序列们(sub)
    SS241107B.子序列们(sub)题意给你一个仅含有\(0,1\)的序列\(A\),定义序列\(B\)为每个元素是序列\(A\)的一个子序列的序列,满足第\(i\)个元素的长度是\(n-i+1\),且\(\forallj>i\),第\(j\)个元素是第\(i\)个元素的子序列。问有多少种本质不同的序列\(B\),对\(99824
  • 2024-11-06LevelDB 源码中的 C++ 奇淫技巧
    LevelDB整体代码还是比较好懂,没有用很多C++奇淫技巧。不过还是有部分实现,相当比较少见,比如柔性数组、链接符号导出、Pimpl类设计等。本文会梳理这里的C++高级技巧,帮助更好地理解LevelDB的实现。柔性数组在util/cache.cc的LRUHandle结构体定义中,有一个柔性数组(fl
  • 2024-11-06NOIP加赛2
    rank15T1100,T280,T39,T40本来不想交的,但快结束的时候回头看见huge在看着我就慌了。T1新的阶乘签到题,将跑个类似于埃氏筛的东西就行了,时间复杂度\(O(n\log\logn)\)。点此查看代码#include<bits/stdc++.h>usingnamespacestd;#definerep(i,s,t,p)for(inti=s;i
  • 2024-11-052024.11.5 闲话
    别人的闲话都推图or歌,我的鲜花啥也没有。我也没啥可推的啊,求图or歌高维前缀和常见的柿子是\(s_{i,j}=s_{i-1,j}+s_{i,j-1}-s_{i-1,j-1}+a_{i,j}\)。但是还可以一维一维求。点此查看代码rep(i,1,n,1)rep(j,1,m,1)a[i][j]+=a[i-1][j];rep(i,1,n,1)rep(j,1,m,1)a[i]
  • 2024-11-04[JRKSJ R2] 你的名字。题解
    [JRKSJR2]你的名字。卡常题,根号分治。卡了三页。以下记\(V=\max\{a_i\}\)考虑当\(k\le\sqrtV\)时,对于每一个\(k\),写个ST表/线段树/分块即可,实测分块最快。复杂度分别为\(O(n\logn)+O(q)+O(n\logn)\qquadO(n)+O(q\logn)+O(n)\qquadO(n)+O(q\sqrtn)+O(n)\)。当\(k>\sq