- 2024-11-02CF573D Bear and Cavalry
原题链接比较简单的\(\text{dp}\)题。看见题目的\(\sumw_ih_i\)式子,很容易想到排序不等式,所以我们先对\(w,h\)排序,然后分情况讨论。若\(w_i,h_i\)对应的编号不相等,肯定是把它们配对。若\(w_i,h_i\)对应的编号相等,考虑这样的连法:若是这种情况也不合法,或者它
- 2024-11-01「闲话」NOIP 集训
10.31因为明天是11.1,所以从今天开始写上午T1没看让输出啥所以一眼会了求所有j看了输出之后,额······诶,其实也对啊,直接根据每个j求出的i区间查分一下就好了,调和级数的复杂度20min打完了,本来以为有些conercase要调一会,但直接过了所有样例,爽!!后记:发现提交时间
- 2024-10-20P11211 随机数生成器 题解
前置知识:原根,exCRT。首先\(t=1\)是容易的,直接相邻的除一下即可。否则考虑询问除连续的\(5\)个数,分别为\(a_0,a_1,\cdots,a_4\)。首先特判掉存在\(a_i=0\)的情况,此时直接枚举\(s\)即可。我们先求出\(p\)的一个原根\(g\),设离散对数\(\log(x)=y\)表示\(g^y\equiv
- 2024-10-11ABC292G Count Strictly Increasing Sequences [区间DP]
Description你有\(n\)个数,每个数长度为\(m\)。不过这\(n\)个数中,可能有某些位不确定,需要你在每个?位置上\(0\)到\(9\)之间填一个数。设你填出来的序列是\(\{S_i\}\)。请你求出,在所有可能的填数方案中,有多少种满足\(S_1<S_2<\dots<S_n\)?对\(998244353\)取
- 2024-10-11P5547 [BJ United Round #3] 三色树 题解
Description请你对满足以下要求的\(n\)个节点的无标号无根树计数:每个节点是三种颜色之一:红,蓝,黄红色节点度数不超过\(4\),蓝色和黄色节点度数均不超过\(3\)黄色节点不能相邻注意无标号无根树的意义是:如果两颗树可以通过重新编号的方法使得对应点颜色相同,对应连边一致
- 2024-10-08[CSP-S 2019 江西] 网格图
算法暴力建图直接跑Kruskal,显然能通过\(64pts\)的点正解分析Kruskal的复杂度发现比较边权非常的浪费,很显然是不必要的并查集求环路也浪费了网格图的性质考虑优化把每一条边看做一个整体,整体比较只需要\(O((n+m)\log(n+m))\)问题是这样比较之后正确性如
- 2024-09-27【20联赛集训day10】排列
【20联赛集训day10】排列一个长度为\(n\)的排列,每次操作删除所有存在相邻的数字比它更大的数字,问执行\(k\)次操作后剩下恰好一个数的排列方案数。首先因为每次删除至少删一半的数字,所以最多删\(\log\)次。对于一个排列,我们可以发现把序列按最大值劈开,左右两边互不干扰,成
- 2024-09-26卡不过去了,求调
题TLE95#include<iostream>#include<map>#include<ext/pb_ds/assoc_container.hpp>#include<ext/pb_ds/hash_policy.hpp>#definelllonglong#pragmaGCCoptimize(5)#pragmaGCCoptimize("Ofast")constllN=5e3+10,p=1e9+7;
- 2024-09-18口吃
口吃题目描述Zaoly要讲一句话,这句话有n个字,他要一个字一个字讲出来。奈何Zaoly口吃:讲到第1个字时,下一个要讲的字有$\frac{a_1}{a_1+b_1}$的概率前进到第2个字,有$\frac{b_1}{a_1+b_1}$的概率仍是第1个字。讲到第$i$$(2\leqi\leqn−1)$个字时,下一个要讲
- 2024-09-12洛谷题单指南-分治与倍增-P1226 【模板】快速幂
原题链接:https://www.luogu.com.cn/problem/P1226题意解读:快速幂模版题。解题思路:1、分治法要计算a^b,可以对b分情况讨论:如果b是偶数,即b=2t,a^b=a^t*a^t如果b是奇数,即b=2t+1,a^b=a*a^t*a^t很容易用递归实现100分代码:#include<bits/stdc++.h>usingnamespa
- 2024-09-05洛谷 P3469 BLO-Blockade
洛谷P3469BLO-Blockade题意给定一张无向图,求每个点被封锁之后有多少个有序点对\((x,y)(x\ney,1<=x,y<=n)\)满足\(x\)无法到达\(y\)。思路使用Tarjan求出割点,有以下几种情况。当前点不是割点,答案为\(2\times(n-1)\),即该点与其他所有点不连通。当前点是割点,答案
- 2024-08-30CF891E Lust 题解
题目链接点击打开链接题目解法会不了\(egf\)/ll我们把贡献变成\(\prod\limits_{j\neqi}a_j=\prod\limits_{j=1}^na_j-\prod\limits_{j=1}^n(a_i-[i=j])\)即答案为一开始的乘积\(-\)\(k\)次操作之后所有数乘积的期望因为有顺序,所以用\(egf\)的形式表示最后乘积的期
- 2024-08-24预设型 DP
预设型DP《美好的一天》--青春学概论한잔술에취해잠긴목엔沉醉于一杯酒갈라지는목소린다시带着沙哑的嗓音두잔자기전엔기분좋음入睡前饮下第二杯让心情愉悦알수없는세상에빠져陷入不可预知的世界세잔또네잔술에빠진又沉醉于第三杯第四杯세상
- 2024-08-22题解:P10881「KDOI-07」能量场
\(\text{Link}\)题意给你一个长为\(n\)的序列\(a_{1\dotsn}\),定义一条边\((u,v)\)的权值为\(a_u+a_v\)。对于一张图,定义其权值为包含的所有边的权值乘积。求所有\(n\)个点的有标号基环树的权值之和。对\(998244353\)取模。\(n\le10^3\)。思路非常厉害的题,zky倾
- 2024-08-17CF1503E 2-Coloring
CF1503E2-Coloringcjx组合强。思路观察一下题目,不难发现只有当黄色形成如下的单峰时才合法。(染错色了,将就一下)其中两座峰的峰顶高度相加等于\(m\),为了方便统计,我们钦定右边的峰一定在左峰下方的行出现,最后答案乘以二就是最终方案。发现对于每一边是两个最长不下降子序列
- 2024-08-13CF1943C Tree Compass
思路:考虑往直径方向想,设直径的长度为\(d\)。首先可以注意到一个性质:每次操作最多只会覆盖住直径的\(2\)个点,那么答案的下界即为\(\lceil\frac{d}{2}\rceil\)。分类讨论一下。若\(d\)为奇数,则存在唯一的一个直径中心\(u\):那么答案为\((u,0),(u,1),\cdots,(u,\l
- 2024-07-24CF906D Power Tower
感觉没啥好说的,只要你知道扩展欧拉定理的式子就很trivial的一个题幂塔类的问题都考虑用扩展欧拉定理降幂,则每往指数上操作一层复杂度模数就会从\(m\)变为\(\phi(m)\)根据经典结论可知,该过程在大约\(\logm\)次操作后就会让模数变为\(1\),此时后面的部分就无需再计算了不
- 2024-07-16P1350 车的放置
P1350车的放置-洛谷|计算机科学教育新生态(luogu.com.cn)非递推做法,对于这个题,这个图形之间统计很麻烦,由此我们可以把它分成两个矩形。如直接沿\(b\)边切割。但这样我们发现还是不好统计,因为左边矩形会受到右边不一定的限制,于是沿着\(b,c\)边再次切割,分成三个矩形,从上
- 2024-07-14CF1237F Balanced Domino Placements
比较有意思的Counting,想到横竖两种骨牌的独立性就很好做了考虑如果枚举最后放了\(x\)块横着的骨牌,\(y\)块竖着的骨牌,直接考虑它们的摆放不方便,不妨转化一下在所有空余的行中,选择\(x+2y\)行,且满足其中有\(y\)对相邻的行;在所有空余的列中,选择\(2x+y\)列,且满足其中有\(x
- 2024-06-06CF 做题记录
前言CodeforcesRound836(Div.2)C.AlmostAllMultiples这题挺妙的。很容易发现$n%x==0$时无解。让\(p[x]=n,p[1]=x,p[n]=1\)就是一个可行解。但此题要求字典序最小,我们以\(8,2\)为例。现在的序列:28345671字典序最小的序列:24385671可以发
- 2024-05-30D. XORificator
D.XORificatorYouaregivenabinary(consistingonlyof0sand1s)$n\timesm$matrix.YouarealsogivenaXORificator,usingwhichyoucaninvertallthevaluesinachosenrow(i.e.replace0with1and1with0).Acolumninthematrixisconsider
- 2024-05-28P6049 燔祭 题解
题意:计算满足如下条件的带标号有根树数量:这棵树一共有\(n\)个节点。每个节点都有一个整数权值,且在区间\([1,m]\)内。每个节点的权值都不大于其父节点的权值。\(n,m\le400\)思路:好题。对于这种计数问题,肯定第一眼会想到\(dp\),我们设\(f_{n,m}\)表示\(n\)个点
- 2024-05-22ABC354
Alink模拟整个过程即可。点击查看代码#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;signedmain(){ inth; cin>>h; intday=1ll,g=0ll; while(g<h){ g+=(1ll<<day); day++; } cout<<day; return
- 2024-04-24qoj3082 Ascending Matrix 题解
题目链接点击打开链接题目解法不考虑第\(a_{r,c}=v\)的限制怎么求?我们把条件形式化一下,发现\(k\)个区域的颜色可以表示成轮廓线的形式,即第\(i-1\)条到第\(i\)条轮廓线之间的格点颜色为\(i\)问题变成找到\(k-1\)条互不穿过的路径,起点为\((1,m)\),终点为\((n,1)\)
- 2024-04-19题解:CSP-S2020] 函数调用
题解:CSP-S2020]函数调用一句话题意:给定一个有初始值的序列,支持如下三种操作:1、单点加2、全局乘3、递归某些操作1、2、3求最终的序列。标签:topsort,动态规划,转化贡献统计(集中贡献),主客翻转关于topsort:部分分里的树结构基本上直接暗示了正解要使用topsort,而且本来函