<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ inklutcuah’s blog]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chunkitlau</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chunkitlau]]></copyright><item><title><![CDATA[【jzoj5405】【NOIP2017提高A组模拟10.10】【Permutation】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/78240870</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/78240870</guid><author>chunkitlau</author><pubDate>Sun, 15 Oct 2017 15:05:26 +0800</pubDate><description><![CDATA[description你有一个长度为n 的排列P 与一个正整数K你可以进行如下操作若干次使得排列的字典序尽量小对于两个满足|i-j|>=K 且|Pi-Pj| = 1 的下标i 与j，交换Pi 与Pjsolution可以令a[p[i]]=i,发现这样相当于交换了i和p[i],对相邻两个a交换，满足|a[i]-a[i+1]|>=K。可以发现a的最小字典序一定对应p的最小字典序。发现对于i然而暴力建边会t]]></description><category></category></item><item><title><![CDATA[【jzoj5389】【NOIP2017提高A组模拟9.26】【解梦】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/78127198</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/78127198</guid><author>chunkitlau</author><pubDate>Thu, 28 Sep 2017 19:11:19 +0800</pubDate><description><![CDATA[descriptionDYY 很善于解梦，昨晚，他梦见自己来到了一个高度发达的国度。众所周知，我们现在有极为常用的三级运算，+、、^。其中，a*b=a+a+a+…+a(b 个a)，a^b=a*a*a…*a(b 个a)。但是，在这个国家，还有第四级运算——♂，a♂b=a^a^a^…^a(b 个a，从左往右计算)。同时，由于这个国家的历史背景，他们非常反感高精度，所以a♂b 的结果是经过1e9+7 取模]]></description><category></category></item><item><title><![CDATA[【jzoj5368】【NOIP2017提高A组模拟9.16】【为逝去的公主献上的七重樱】【单调队列】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/78008095</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/78008095</guid><author>chunkitlau</author><pubDate>Sun, 17 Sep 2017 07:35:37 +0800</pubDate><description><![CDATA[descriptionsolution可以发现答案可能出现在两个部分，没有加入过的最小的数，出去了的最小数。对于前一个部分可以用桶记录，对于一部分我们构出一个队列，如果一个数在另一个数加入前加入且比那个数大，那它一定不可能出现在答案中，用单调队列维护即可。code#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm]]></description><category></category></item><item><title><![CDATA[【jzoj5358】【NOIP2017提高A组模拟9.12】【BBQ】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/78002103</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/78002103</guid><author>chunkitlau</author><pubDate>Sat, 16 Sep 2017 11:07:31 +0800</pubDate><description><![CDATA[descriptionsolution可以发现组合数的意义就是在二维平面上一个点只能往上往右走走到另一个点的方案数，这个问题可以用递推来解决，相当于在(-a[i],-b[i])上都加一，求f(a[i],b[i])的和，减去i，j相等的情况再除以二即可。code#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>]]></description><category></category></item><item><title><![CDATA[【jzoj5359】【NOIP2017提高A组模拟9.12】【Arrays and Palindrome】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77971976</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77971976</guid><author>chunkitlau</author><pubDate>Wed, 13 Sep 2017 22:22:52 +0800</pubDate><description><![CDATA[descriptionsolution发现A只会有两个奇数或者没有奇数，发现a一定将两个奇数放在头尾（如果有的话），剩下的第一个数加一，最后一个数建议，中间不变即为b（注意1的情况）。code#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define LF double
#define LL long]]></description><category></category></item><item><title><![CDATA[【jzoj5360】【NOIP2017提高A组模拟9.12】【Shorten Diameter】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77971941</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77971941</guid><author>chunkitlau</author><pubDate>Wed, 13 Sep 2017 22:19:22 +0800</pubDate><description><![CDATA[description给定一棵有n 个点的树，现要求不断删点直到树的直径<=K，求最少需要删除的点数。一个点可以被删掉当且仅当该点的度数为1。保证树的形态为随机生成（请勿过度解读）。solution由于树的形态是随机的，可以考虑当k为偶数时，枚举一个点往外扩展k/2层，当k为奇数时，枚举一条边从两个点往外扩展k/2层，统计最大值即可。code#include<cstdio>
#include<cma]]></description><category></category></item><item><title><![CDATA[【jzoj4726】【NOIP2016提高A组模拟8.22】【种花】【可撤销贪心】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77920499</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77920499</guid><author>chunkitlau</author><pubDate>Sun, 10 Sep 2017 10:18:51 +0800</pubDate><description><![CDATA[description经过三十多个小时的长途跋涉，小Z和小D终于到了NOI现场——南山南中学。一进校园，小D就被花所吸引了（不要问我为什么），遍和一旁的种花园丁交（J）流（L）了起来。他发现花的摆放竟有如此奥秘：圆形广场共有 N 个种花的位置，顺时针编号1到N。并且每个位置都有一个美观度ai ，如果在这里种花就可以得到这ai 的美观度。但由于地处南山土壤肥力欠佳，两株花不能种在相邻的位置（1号和N号]]></description><category></category></item><item><title><![CDATA[【jzoj5350】【NOIP2017提高A组模拟9.7】【陶陶摘苹果】【动态规划】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77899624</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77899624</guid><author>chunkitlau</author><pubDate>Fri, 08 Sep 2017 22:17:28 +0800</pubDate><description><![CDATA[descriptionsolution题目的意思是板凳不可重叠，数据不能直接摘苹果。对苹果排序，对凳子按r从小到大排序。设f[i][j]表示前i个凳子，选了j个，最后一个选了i的最大贡献，枚举由那个f[k][j-1]转移过来，能贡献多少就在苹果序上二分再max一下i左端点k右端点+1即可。code#include<cstdio>
#include<cmath>
#include<cstring>
#]]></description><category></category></item><item><title><![CDATA[【jzoj5347】【NOIP2017提高A组模拟9.5】【遥远的金字塔】【斜率优化动态规划】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77885389</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77885389</guid><author>chunkitlau</author><pubDate>Fri, 08 Sep 2017 22:12:22 +0800</pubDate><description><![CDATA[descriptionsolution考虑动态规划，设f[i][j]表示前i个，用了j个矩阵的最大答案。f[i][j]=maxk<=if[k][j−1]+a[i]∗(i−k)f[i][j]=\max_{k<=i}f[k][j-1]+a[i]*(i-k)，其中a[i]表示第i段的长度。可以发现对于i的两个决策点x,y（x<y）x,y（x<y），当(f[y]−f[x])/(y−x)<a[i](f[y]-]]></description><category></category></item><item><title><![CDATA[【jzoj5346】【NOIP2017提高A组模拟9.5】【NYG的背包】【贪心】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77872573</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77872573</guid><author>chunkitlau</author><pubDate>Wed, 06 Sep 2017 22:15:53 +0800</pubDate><description><![CDATA[descriptionsolution考虑贡献为正的，显然花费a最少先做，考虑贡献为负的，可以将ab调转过来，那显然花费最少的先做，也就是b最小的先做。code#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define LF double
#define LL long long
#define ULL]]></description><category></category></item><item><title><![CDATA[【jzoj5343】【NOIP2017模拟9.3A组】【健美猫】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77823326</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77823326</guid><author>chunkitlau</author><pubDate>Sun, 03 Sep 2017 16:30:43 +0800</pubDate><description><![CDATA[descriptionsolution可以把点投射到以i坐标为x坐标，以a[i]为y坐标的二维平面，考虑维护两条斜率为1直线，点到直线竖直距离和即为答案，分别为维护多少个点在直线上，用两个桶维护即可，坐标分别为到y=x竖直距离和到(n,0)曼哈顿距离。code#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>]]></description><category></category></item><item><title><![CDATA[【jzoj5344】【NOIP2017模拟9.3A组】【摘果子】【树型依赖背包】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77816758</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77816758</guid><author>chunkitlau</author><pubDate>Sun, 03 Sep 2017 11:34:36 +0800</pubDate><description><![CDATA[descriptionsolution直接树型依赖背包没什么好说的。code#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define LF double
#define LL long long
#define ULL unsigned int
#define fo(i,j,k) for(int i=]]></description><category></category></item><item><title><![CDATA[【jzoj5341】【NOIP2017模拟9.2A组】【密州盛宴】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77802041</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77802041</guid><author>chunkitlau</author><pubDate>Sat, 02 Sep 2017 16:28:25 +0800</pubDate><description><![CDATA[descriptionsolution可以发现如果把1看做1，把0看做-1，做后缀和如果小于-1表示东坡不能吃够n天，否则就一定合法。可以发现如果要移动就一定将后面的0移到最前面，移动x个就是前面的数往后移x位，往后移一位相当于把后缀和+1，可以发现最小后缀和是-x，那至少要往前移x-1个0。code#include<cstdio>
#include<cmath>
#include<cstring>]]></description><category></category></item><item><title><![CDATA[【jzoj5340】【NOIP2017模拟9.2A组】【春思】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77800225</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77800225</guid><author>chunkitlau</author><pubDate>Sat, 02 Sep 2017 11:49:20 +0800</pubDate><description><![CDATA[descriptionsolution分解质因数然后等比数列求和。code#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define LF double
#define LL long long
#define ULL unsigned int
#define fo(i,j,k) for(LL i=j;]]></description><category></category></item><item><title><![CDATA[【jzoj3418】【NOIP动态规划专题】【选课】【树型依赖动态规划】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77778710</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77778710</guid><author>chunkitlau</author><pubDate>Fri, 01 Sep 2017 22:02:23 +0800</pubDate><description><![CDATA[description大学里实行学分。每门课程都有一定的学分，学生只要选修了这门课，并通过考核就能获得相应的学分。学生最后的学分是他各门课学分的总和。每个学生都要选择规定数量的课程。其中有些课程可以直接选修，有些课程需要一定的基础知识，必须在选了其他的一些课程的基础上才能选修。例如，《剥皮术》就必须在选修了《屠龙术》后才能选修。我们称《屠龙术》是《剥皮术》的先修课。每门课的直接先修课最多之有一门。两]]></description><category></category></item><item><title><![CDATA[【jzoj5337】【NOIP2017提高A组模拟8.25】【夜莺与玫瑰】【莫比乌斯反演】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77575089</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77575089</guid><author>chunkitlau</author><pubDate>Fri, 25 Aug 2017 15:45:56 +0800</pubDate><description><![CDATA[descriptionsolution我们可以发现一个性质ans=n+m+∑n−1i=1∑j=1m−1([(i,j)==1](n−i)(m−j)−[(i,j)==2](n−i)(m−j))ans=n+m+\sum_{i=1}^{n-1}\sum{j=1}^{m-1}([(i,j)==1](n-i)(m-j)-[(i,j)==2](n-i)(m-j))考虑两条重合的直线（以两个端点确定一条直线的线段）]]></description><category></category></item><item><title><![CDATA[【jzoj5338】【NOIP2017提高A组模拟8.25】【影子】【点分治】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77570098</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77570098</guid><author>chunkitlau</author><pubDate>Fri, 25 Aug 2017 11:51:13 +0800</pubDate><description><![CDATA[descriptionsolution直接点分治，维护点权最小值和边权和，按点权最小值排序，两个指针维护一下最大值即可。code#include<set>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define LL long long
#define fo(i,j,k) for(int i=j;i]]></description><category></category></item><item><title><![CDATA[【jzoj5334】【NOIP2017提高A组模拟8.24】【空】【扫描线】【set】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77528476</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77528476</guid><author>chunkitlau</author><pubDate>Thu, 24 Aug 2017 12:00:17 +0800</pubDate><description><![CDATA[descriptionsolution考虑用扫描线，可以发现有相交和内含两种情况，相交就是l+r的差，内含就是r-l的差，可以分别两次用set维护。code#include<set>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#define LL long long
#define fo(i,j,k)]]></description><category></category></item><item><title><![CDATA[【jzoj5335】【NOIP2017提高A组模拟8.24】【早苗】【矩阵乘法快速幂】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77528230</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77528230</guid><author>chunkitlau</author><pubDate>Thu, 24 Aug 2017 11:39:23 +0800</pubDate><description><![CDATA[descriptionsolution设f[i][j]表示到第i天，往前j天不同的方案数，可以转移到f[i+1][k]，当k<=j时系数是1，当k==j+1时系数是m-j，当然要保证j!=m，可以发现这时可以用矩阵乘法快速幂解决的。code#include<set>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorit]]></description><category></category></item><item><title><![CDATA[【jzoj3327】【陶陶的难题】【类欧几里得】]]></title><link>https://blog.youkuaiyun.com/chunkitlau/article/details/77512444</link><guid>https://blog.youkuaiyun.com/chunkitlau/article/details/77512444</guid><author>chunkitlau</author><pubDate>Wed, 23 Aug 2017 21:56:44 +0800</pubDate><description><![CDATA[description陶陶给Crash出了一个大难题，他要求Crash计算出下面式子的值：其中A,B,C,L,R均为给定正整数。由于答案可能会很大，你只需要输出答案mod 1,000,000,007后的值。solution可以发现这就是裸的类欧，求出g即可。类欧几里得问题推导code#include<cstdio>
#include<cmath>
#include<cstring>
#include]]></description><category></category></item></channel></rss>