<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/de0831</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; de0831]]></copyright><item><title><![CDATA[Codeforces #538.div2]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589463</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589463</guid><author>de0831</author><pubDate>Mon, 18 Feb 2019 19:15:00 +0800</pubDate><description><![CDATA[C
给你n（&lt;=1e18)和b(&lt;=1e12)，求出n！化为b进制后尾部0的数量
由于n的范围较大，肯定不能算n！
算一下就会发现尾部0的数量就等于n!能整除b的次数
把b质因数分解
n!能整除b的次数即为n！能整除b的因子的数目的最小值

#include &lt;bits/stdc++.h&gt;
using namespace std;
#define...]]></description><category></category></item><item><title><![CDATA[Codeforces #531.div3]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589460</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589460</guid><author>de0831</author><pubDate>Sun, 17 Feb 2019 00:02:00 +0800</pubDate><description><![CDATA[A

#include &lt;iostream&gt;
using namespace std;

int main()
{
    long long n;
    cin&gt;&gt;n;
    if(n%4==0||n%4==3)cout&lt;&lt;0;
    else cout&lt;&lt;1;
    return 0;
}

B
...]]></description><category></category></item><item><title><![CDATA[Codeforces #530.div2]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589458</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589458</guid><author>de0831</author><pubDate>Sat, 16 Feb 2019 23:25:00 +0800</pubDate><description><![CDATA[A

#include&lt;bits/stdc++.h&gt;

using namespace std;

int main()
{
    int h,w,u1,d1,u2,d2,sum=0;
    cin&gt;&gt;w&gt;&gt;h&gt;&gt;u1&gt;&gt;d1&gt;&gt;u2&gt;&gt;d2;
    sum=w;
    wh...]]></description><category></category></item><item><title><![CDATA[Codeforces #round57.div2]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589462</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589462</guid><author>de0831</author><pubDate>Sat, 16 Feb 2019 22:58:00 +0800</pubDate><description><![CDATA[A

#include &lt;bits/stdc++.h&gt;

using namespace std;

int main()
{
    int n,l,r;
    cin&gt;&gt;n;
    for (int i=0;i&lt;n;i++){
        cin&gt;&gt;l&gt;&gt;r;
        cout&lt;&lt...]]></description><category></category></item><item><title><![CDATA[Codeforces #529.div3]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589457</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589457</guid><author>de0831</author><pubDate>Sat, 16 Feb 2019 22:38:00 +0800</pubDate><description><![CDATA[A

#include &lt;iostream&gt;

using namespace std;

int main()
{
    char str1[100],str2[100];
    int n,i,a=1,t=0;
    cin&gt;&gt;n&gt;&gt;str1;
    for(i=0;i&lt;n;i+=a)
    {
     ...]]></description><category></category></item><item><title><![CDATA[Codeforces #528.div2]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589461</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589461</guid><author>de0831</author><pubDate>Tue, 29 Jan 2019 21:32:00 +0800</pubDate><description><![CDATA[A-还原字符串
B-商*余数
n=a*b,找到最小的a使得b&lt;k；
C-连接三区域

对三点横坐标排序，找到最中间的那一点
把最中间的那一竖条从最低到最高全部涂黑
然后其他两个点向中间作垂线，把垂线涂黑


#include &lt;bits/stdc++.h&gt;
using namespace std;
pair&lt;int,int&gt;p...]]></description><category></category></item><item><title><![CDATA[PLAN（今天也有好好地做人吖）]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589459</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589459</guid><author>de0831</author><pubDate>Mon, 29 Oct 2018 20:14:00 +0800</pubDate><description><![CDATA[半年计划，到明年邀请赛开始，需要完成：
1.kuangbin专题刷完。
2.跟着专题学知识，各路算法都要知道。
3.跟着博客学知识，把专题里没有的补上。
4.CF一周两套。
5.得会用JAVA,PYTHON解决一些问题呢。


2018.11（计划完成专题一，二，三，十四）
这个月要期中考试，还要准备六级考试，事情比较多。

第一周（要求不多，把数论专题十四刷...]]></description><category></category></item><item><title><![CDATA[kuangbin数论专题记录]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589456</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589456</guid><author>de0831</author><pubDate>Tue, 16 Oct 2018 18:00:00 +0800</pubDate><description><![CDATA[A：
每个学生所得的bamboo的score的值必须大于或等于他的幸运数字， bamboo的score值就是其长度x的欧拉函数值（即小于x且与x互质的数的个数）
每单位长度花费1Xukha，求买这些bamboo的最小花费。
此题关键：素数（x）的欧拉函数值（x-1）是满足条件（大于等于幸运数字）且花费最小的，相同欧拉函数值合数数值（花费）一定更大，所以只要筛出【1，1e6】的素数即...]]></description><category></category></item><item><title><![CDATA[hdu 4135 Co-prime]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589437</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589437</guid><author>de0831</author><pubDate>Tue, 11 Sep 2018 20:31:00 +0800</pubDate><description><![CDATA[题意：求[l,r]区间与n互素的数的个数
思路：容斥原理，求[1，r]区间与n互素的元素个数= r - [1，r]区间与n不互素的元素的个数（与n含有公共因子）
求[l,r]区间与n互素的数的个数=[1，r]区间与n互素的元素个数-[1，l-1]区间与n互素的元素个数
再用到位运算（状压），假设n=2*3*5；
那么1&lt;&lt;3 - 1,即1000 -1...]]></description><category></category></item><item><title><![CDATA[欧拉函数]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589438</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589438</guid><author>de0831</author><pubDate>Fri, 07 Sep 2018 19:30:00 +0800</pubDate><description><![CDATA[phi[i]=从1到i与i互素的数的个数
公式： ，pi为x的质因子，n为x的质因子个数
例如：
12=2*2*3;
12=12*(1-1/2)*(1-1/3)
求单个的：

int phi(int x)
{
    int ans=x;
    for(int i=2;i*i&lt;=x;i++)
    {
        if(x%i==0)
    ...]]></description><category></category></item><item><title><![CDATA[逆元（数论倒数）]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589454</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589454</guid><author>de0831</author><pubDate>Thu, 06 Sep 2018 20:44:00 +0800</pubDate><description><![CDATA[三种方式求a关于p的逆元（前提：a,p互质）
费马小定理：
inv[a]=a^(p-2)(mod p)


LL fastpow(LL a,LL b,LL p)
{
    a%=p; 
    LL ans=1;
    while(b&gt;0)
    {
        if(b&amp;1)ans=(ans*a)%p;
        a=(a*a)%...]]></description><category></category></item><item><title><![CDATA[最大公约数gcd，最小公倍数lcm，扩展欧几里得]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589452</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589452</guid><author>de0831</author><pubDate>Thu, 06 Sep 2018 20:33:00 +0800</pubDate><description><![CDATA[求最大公约数gcd，辗转相除法

LL gcd(LL a,LL b)
{
    return b==0?a:gcd(b,a%b);
}

最小公倍数lcm=a/gcd(a,b)*b （避免溢出）
一些公式：
gcd(ka,kb)=k*gcd(a,b);
gcd(s/a,s/b)=s/gcd(a,b);
gcd(x^a-1,x^b-1)=x^gcd(a,b)-1;...]]></description><category></category></item><item><title><![CDATA[hdu 6395 Sequence (分段矩阵快速幂）]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589455</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589455</guid><author>de0831</author><pubDate>Tue, 04 Sep 2018 18:05:00 +0800</pubDate><description><![CDATA[题意：就是一个矩阵快速幂的题目，难点在于p/n向下取整
解法一：
构造递推式：

这种构造方式很好想，可以发现递推矩阵T与一般矩阵不同之处在于p/n的值一直在变
所以我们不能直接用矩阵快速幂把递推矩阵乘上n-2次
所以此时用到分段的思想：
在某一个区间内，p/i的值是相同的
经过计算这个区间是(i,p/(p/i))
所以我们对每一段用矩阵快速幂即可
从F3一直计...]]></description><category></category></item><item><title><![CDATA[快速幂]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589450</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589450</guid><author>de0831</author><pubDate>Mon, 03 Sep 2018 17:13:00 +0800</pubDate><description><![CDATA[快速幂取模（位运算加速）

LL fastpow(LL a,LL b)
{
    a%=mod;
    LL ans=1;
    while(b&gt;0)
    {
        if(b&amp;1)ans=(ans*a)%mod;
        a=(a*a)%mod;
        b&gt;&gt;=1;
    }
    return ...]]></description><category></category></item><item><title><![CDATA[hdu 6432 Cyclic]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589453</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589453</guid><author>de0831</author><pubDate>Thu, 23 Aug 2018 00:13:00 +0800</pubDate><description><![CDATA[题意：
计算长度为n且不含有子串[i,i+1]或[n,1]的不同循环排列的个数。
解法：
拿n=4举例，即不含12，23，34，41这样的子串。
首先先说明什么是循环排列：
即把1-n这n个数随意地放到一个圆圈上，循环排列的不同仅仅取决于这n个数的相对位置的不同。
例如1234，2341，3412，4123这些数为相同的循环排列数。
循环排列没有首末之分，这...]]></description><category></category></item><item><title><![CDATA[hdu 6397 charactor encoding]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589451</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589451</guid><author>de0831</author><pubDate>Wed, 22 Aug 2018 01:17:00 +0800</pubDate><description><![CDATA[Character Encoding
Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 1692Accepted Submission(s): 650
Problem Description
In computer...]]></description><category></category></item><item><title><![CDATA[8.11   素数]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589449</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589449</guid><author>de0831</author><pubDate>Sat, 11 Aug 2018 15:18:00 +0800</pubDate><description><![CDATA[素数，又叫质数，定义是除了1和它本身以外没有别的因数
判断一个数是不是素数 复杂度O(根号N)

bool prime(int x)
{
    if(x&lt;=1)return false;
    for(LL i=2;i*i&lt;=x;i++)if(x%i==0)return false;
    return true;
}


求出1~N内所有的素...]]></description><category></category></item><item><title><![CDATA[8.2  kmp  扩展kmp]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589442</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589442</guid><author>de0831</author><pubDate>Thu, 02 Aug 2018 20:47:00 +0800</pubDate><description><![CDATA[假设一母串S，子串P
KMP:用于求解子串P在母串S中第一次出现的位置，或是在母串S中出现的次数。（最长公共前缀后缀）
next数组的含义：next[i]表示前面长度为i的子串中，前缀和后缀相等的最大长度。


拓展kmp是对KMP算法的扩展，它解决如下问题：（最长公共前缀）
定义母串S，和子串T，设S的长度为n，T的长度为m，求T与S的每一个后缀的最长公共前缀，也就是说...]]></description><category></category></item><item><title><![CDATA[8.1   字符串哈希  字典树]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589439</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589439</guid><author>de0831</author><pubDate>Wed, 01 Aug 2018 11:13:00 +0800</pubDate><description><![CDATA[字符串哈希：将字符串转化为一个整数（更便于比较），并尽可能做到字符串与整数唯一对应

hash[l...r]=(hash[r]-hash[l-1]*(p^(r-(l-1))))%mod，结果可能为负数，要加模
暴力过kmp:
求出子串s2的hash值，在母串s1里找所有长度为 |s2| 的子串算出其hash值，与s2的hash值比较
具体对于字符串哈希的应用参看https:/...]]></description><category></category></item><item><title><![CDATA[7.31    网络流]]></title><link>https://blog.youkuaiyun.com/de0831/article/details/101589440</link><guid>https://blog.youkuaiyun.com/de0831/article/details/101589440</guid><author>de0831</author><pubDate>Tue, 31 Jul 2018 20:33:00 +0800</pubDate><description><![CDATA[A题：
Description

AveryBoy喜欢玩LOL，但是他技术太菜，总是被别人喷“这么菜玩什么游戏，回家养猪去吧”。终于有一天，他被喷的受不了了，于是回家养猪。不过他家的养猪场在下雨天的时候总是被淹，所以他用读书学来的知识设计了一套排水系统。他还设计了一套装置，可以控制排水管道的水流流量。现在有n个排水管道，m个排水节点，问你从1到m的最大排水流量。

Input...]]></description><category></category></item></channel></rss>