<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenshige的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenshige</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenshige]]></copyright><item><title><![CDATA[ARC147F题解]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/126897119</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/126897119</guid><author>chenshige</author><pubDate>Fri, 16 Sep 2022 20:34:22 +0800</pubDate><description><![CDATA[ARC147F题解]]></description><category></category></item><item><title><![CDATA[gym103627L XXII Open Cup, GP of Daejeon Curly Racetrack 题解]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/126614045</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/126614045</guid><author>chenshige</author><pubDate>Tue, 30 Aug 2022 22:33:37 +0800</pubDate><description><![CDATA[gym103627L题解]]></description><category></category></item><item><title><![CDATA[时代的眼泪我的代码各个变量的含义]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/126274968</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/126274968</guid><author>chenshige</author><pubDate>Thu, 11 Aug 2022 00:17:22 +0800</pubDate><description><![CDATA[记录一下我NOI2020D1T3代码中各个变量的含义，以免忘了]]></description><category></category></item><item><title><![CDATA[无标号有根仙人掌计数]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/122095011</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/122095011</guid><author>chenshige</author><pubDate>Wed, 22 Dec 2021 21:36:06 +0800</pubDate><description><![CDATA[下面的做法（是个常数有点大的O(nlog⁡2n)\mathcal O(n\log^2 n)O(nlog2n)）我只是口胡了一下，没写过，所以可能有错
首先，假设ana_nan​表示有nnn个点的无标号有根仙人掌数量，bnb_nbn​表示有nnn个点的且这个nnn个点组成若干棵无标号有根仙人掌而这些无标号有根仙人掌的根又串在一起形成一条链的方案数，cnc_ncn​表示bnb_nbn​定义中的链是回文的且链上有奇数个点的方案数，dnd_ndn​表示n+1n+1n+1个点且根只在一个环上的无标号有根仙人掌数
考虑]]></description><category></category></item><item><title><![CDATA[数论函数快速幂]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/121900095</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/121900095</guid><author>chenshige</author><pubDate>Mon, 13 Dec 2021 15:23:38 +0800</pubDate><description><![CDATA[数论函数f(n)f(n)f(n)的生成函数是F(x)=∑n≥1f(n)nxF(x)=\sum_{n\geq1}f(n)n^xF(x)=∑n≥1​f(n)nx
发现两个数论函数f(x),g(x)f(x),g(x)f(x),g(x)的生成函数F(x),G(x)F(x),G(x)F(x),G(x)的卷积H(x)H(x)H(x)就是f(x),g(x)f(x),g(x)f(x),g(x)的狄利克雷卷积h(x)h(x)h(x)的生成函数（因为f(i)ixg(j)jxf(i)i^xg(j)j^xf(i)ixg(j)jx对]]></description><category></category></item><item><title><![CDATA[the formula of beta function]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/121342360</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/121342360</guid><author>chenshige</author><pubDate>Mon, 15 Nov 2021 21:06:07 +0800</pubDate><description><![CDATA[beta function: ∫01xm(1−x)ndx\int_0^1x^m(1-x)^ndx∫01​xm(1−x)ndx
考虑分部积分，构造u(x)=xm,v′(x)=(1−x)nu(x)=x^m,v'(x)=(1-x)^nu(x)=xm,v′(x)=(1−x)n
则v(x)=−(1−x)n+1n+1v(x)=-\frac{(1-x)^{n+1}}{n+1}v(x)=−n+1(1−x)n+1​
故∫01xm(1−x)ndx=∫01u(x)v′(x)dx=∣01u(x)v(x)−∫01u′(x)v(x)\]]></description><category></category></item><item><title><![CDATA[CSP2021总结]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/120943884</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/120943884</guid><author>chenshige</author><pubDate>Sun, 24 Oct 2021 23:57:23 +0800</pubDate><description><![CDATA[这次反映出的最大的两个问题是考试策略不对，以及调题速度太慢。
总的来说，这次CSP的题目难度分布比较罕见：T1、T2、T3难度差不多，都不是送分，又都不难。我没有适应这种难度，所以通读完题后发现一道都不会心态受了些影响，考试策略也安排的很不合理。
首先失误的地方是在以为T1是要O(log⁡n)O(\log n)O(logn)地枚举航站楼数量，O(n)O(n)O(n)地算停靠的飞机数量，于是去证了很久函数凸性、单峰性，最后没证出来，浪费了半个小时。最后过掉T1的时候已经开考将近一个小时了。
然后把T2序列合法]]></description><category></category></item><item><title><![CDATA[已知一些连通块任意连边形成的带标号无根树数量]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/118976670</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/118976670</guid><author>chenshige</author><pubDate>Wed, 21 Jul 2021 21:15:17 +0800</pubDate><description><![CDATA[考虑将每个连通块像点一样加入prufer序列，设第iii个连通块在prufer序列中出现的次数为did_idi​，那么这个连通块整体的度数为di+1d_i+1di​+1，又这个连通块每连一条边都有sis_isi​种选择，故对答案的贡献为sidi+1s_i^{d_i+1}sidi​+1​
所以答案为
(k−2)!∑∑i=1kdi=k−2∏i=1ksidi+1di!=∏i=1ksi∑∑i=1kdi=k−2(k−2))!∏i=1kdi!∏i=1ksidi而∑∑i=1kdi=k−2(k−2)!∏i=1kdi!∏i=]]></description><category></category></item><item><title><![CDATA[NOIP2018提高组阅读程序写结果第4题]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/108987484</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/108987484</guid><author>chenshige</author><pubDate>Fri, 09 Oct 2020 22:16:50 +0800</pubDate><description><![CDATA[排列哈希板子题
首先看出程序是在求下一个排列
第一个输入暴算即可
第二个输入考虑哈希一个排列使得hash(next_permutation)=hash(this_permutaion)+1hash(next\_permutation)=hash(this\_permutaion)+1hash(next_permutation)=hash(this_permutaion)+1
不会排列哈希的可以自行百度
这里给出几个手算值：输入的排列哈希值是234（因为个人习惯直接用的∑\sum∑排名*后面数的个数的阶乘，排]]></description><category></category></item><item><title><![CDATA[NOIP2011提高组初赛不定项选择第5题]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/108938326</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/108938326</guid><author>chenshige</author><pubDate>Tue, 06 Oct 2020 13:06:24 +0800</pubDate><description><![CDATA[答案是BC
首先哈夫曼编码要满足两个条件：压缩后文本最短；无歧义
这题“之乎者也”有两种压缩方式：00、01、10、11；0、10、110、111
最后长度都是4000，正确性显然

]]></description><category></category></item><item><title><![CDATA[NOIP2018提高组初赛第7题题解]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/108814063</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/108814063</guid><author>chenshige</author><pubDate>Sat, 26 Sep 2020 16:53:00 +0800</pubDate><description><![CDATA[@Lates 假设长度为x的线段答案是f(x)
那么显然有f(x)=2f(x2)f(x)=2f(\frac x 2)f(x)=2f(2x​)
考虑分类讨论：
第一种情况：两个点都在[0,x2][0,\frac x2][0,2x​]，
概率为12×12=14\frac12\times\frac12=\frac1421​×21​=41​，期望长度为f(x2)f(\frac x2)f(2x​)，故对答案的贡献为f(x2)4=f(x)8\frac{f(\frac x2)}4=\frac{f(x)}84f(2x​)​]]></description><category></category></item><item><title><![CDATA[CF506E题解]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/107609221</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/107609221</guid><author>chenshige</author><pubDate>Mon, 27 Jul 2020 12:15:35 +0800</pubDate><description><![CDATA[看到这题还没有吊打标程的BM题解，神larryzhong（即hellomath）连连怒斥。
larryzhong说这是BM板子，没什么讲的意义，不会的自行百度。
下面贴上larryzhong吊打标程的代码：
#include &lt;bits/stdc++.h&gt;
using namespace std;

const int P = 10007;
int n, m, tot, f[2][210][210];
char s[210];
struct mat { unsigned long long a[]]></description><category></category></item><item><title><![CDATA[LUOGU P4345 SHOI2015超能粒子炮·改题解]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/106291487</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/106291487</guid><author>chenshige</author><pubDate>Fri, 22 May 2020 21:42:38 +0800</pubDate><description><![CDATA[f(n,k)=∑i=0kCni%pf(n,k)=\sum_{i=0}^kC_n^i\%pf(n,k)=i=0∑k​Cni​%p
f(n,k)=∑i=0kCnpipCn%pi%p%pf(n,k)=\sum_{i=0}^kC_{\frac{n}{p}}^{\frac{i}{p}}C_{n\%p}^{i\%p}\%pf(n,k)=i=0∑k​Cpn​pi​​Cn%pi%p​%p
=((∑i=0kp−1Cnpi∑j=0p−1Cn%pj)+(Cnpkp∑i=0k%pCn%pi))%p=((\sum_{i=0}^{\f]]></description><category></category></item><item><title><![CDATA[luogu P1829 [国家集训队]Crash的数字表格 / JZPTAB 题解]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/105894680</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/105894680</guid><author>chenshige</author><pubDate>Sat, 02 May 2020 20:13:47 +0800</pubDate><description><![CDATA[∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)i=1∑n​j=1∑m​lcm(i,j)
（以下简称为原式）
=∑i=1n∑j=1mijgcd(i,j)=\sum_{i=1}^n\sum_{j=1}^m\frac{ij}{gcd(i,j)}=i=1∑n​j=1∑m​gcd(i,j)ij​
枚举d=gcd(i,j)，令
x=idx=\frac{i}...]]></description><category></category></item><item><title><![CDATA[CSP2019PJT3]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/103207176</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/103207176</guid><author>chenshige</author><pubDate>Fri, 22 Nov 2019 20:46:12 +0800</pubDate><description><![CDATA[作为一个退役的CSP-J选手，回想自己考场上就在这题上飞了…这道题送我告别CSP普及…
不扯远了，考虑在同一天将一个物品买一次又卖一次，小伟的钱没有任何变化（这个性质看似是废话，其实很有用），所以我们可以把一次在第i天买的一个物品在第j天卖掉拆成第i天买，第(i+1)天又卖出，第(i+1)天买，第(i+2)天又卖出…直到第(j-1)天买，第j天卖出，中间之所以可以增加买卖且做到与原来的操作等价，是...]]></description><category></category></item><item><title><![CDATA[NOIP2017初赛阅读程序写结果第4题题解]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/102534680</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/102534680</guid><author>chenshige</author><pubDate>Sun, 13 Oct 2019 16:46:28 +0800</pubDate><description><![CDATA[NOIP2017初赛阅读程序写结果第4题题解
一、题面
#include&lt;iostream&gt;
using namespace std;
int main()
{
    int n, m;
    cin &gt;&gt; n &gt;&gt; m;
    int x = 1;
    int y = 1;
    int dx = 1;
    int dy = 1;
    in...]]></description><category></category></item><item><title><![CDATA[匈牙利算法（简单易懂）]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/99002321</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/99002321</guid><author>chenshige</author><pubDate>Sat, 10 Aug 2019 12:42:27 +0800</pubDate><description><![CDATA[匈牙利算法（简单易懂）
之前在网上看了一些匈牙利算法的题解，发现有两种情况：1.看不懂算法描述 2.看得懂算法描述，看不懂代码
1.二分图的定义
通俗点讲，就是有两个班的学生，可能A班的学生x和B班的学生y同意互相抄作业（两方都同意，即两个人都不会向老师打小报告），但是因为每个班的班主任很严，他们不允许自班到两个同学互相抄作业，也就是说A班的两个学生不能互相抄作业，B班的两个学生也不能互相抄作业。...]]></description><category></category></item><item><title><![CDATA[cf685B水题]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/85202880</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/85202880</guid><author>chenshige</author><pubDate>Sat, 22 Dec 2018 12:54:44 +0800</pubDate><description><![CDATA[#include&amp;lt;cstdio&amp;gt;
#include&amp;lt;cstring&amp;gt;
using namespace std;
inline void read(int &amp;amp;a){
    char c=getchar();int f=1;a=0;
    while(c&amp;gt;'9'||c&amp;lt;'0'){if(c=='-') f=-1;c=getchar();}
    whil...]]></description><category></category></item><item><title><![CDATA[c++ sort双(多)关键字排序]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/81191388</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/81191388</guid><author>chenshige</author><pubDate>Tue, 24 Jul 2018 20:14:02 +0800</pubDate><description><![CDATA[struct a{

int x,y;

}k[100001];

bool compare(a m,a n){

if(m.x&amp;lt;n.x) return false;

if(m.x==n.x){

if(m.y&amp;lt;=n.y) return false;

return true;

}

return true;

}

sort(a+1,a+10,compare);]]></description><category></category></item><item><title><![CDATA[石子合并]]></title><link>https://blog.youkuaiyun.com/chenshige/article/details/81099854</link><guid>https://blog.youkuaiyun.com/chenshige/article/details/81099854</guid><author>chenshige</author><pubDate>Wed, 18 Jul 2018 16:51:05 +0800</pubDate><description><![CDATA[题目描述

在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆，并将新的一堆的石子数，记为该次合并的得分。

试设计出1个算法,计算出将N堆石子合并成1堆的最小得分和最大得分.

输入输出格式

输入格式：

 

数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数.

 

输出格式：

 

输出共...]]></description><category></category></item></channel></rss>