<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[miku23736748的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/miku23736748</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; miku23736748]]></copyright><item><title><![CDATA[CF-ECR45-Problem B]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/80646693</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/80646693</guid><author>miku23736748</author><pubDate>Mon, 11 Jun 2018 02:18:43 +0800</pubDate><description><![CDATA[http://codeforces.com/contest/990简单的排序后贪心问题。贪心时有两种情况忘了返回i=j-1导致超时一直没过。改成如下代码后就过了。#include &amp;lt;iostream&amp;gt;
#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;cmath&amp;gt;

using namespace std;
#define MAXN 100010

...]]></description><category></category></item><item><title><![CDATA[【数论】codeforce711E ZS and The Birthday Paradox]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52474919</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52474919</guid><author>miku23736748</author><pubDate>Fri, 16 Sep 2016 13:49:09 +0800</pubDate><description><![CDATA[题目大意：
给n和k。
求2^n天，k个人，其中至少两人同一天生日的概率。
1 ≤ n ≤ 1018, 2 ≤ k ≤ 1018



输出分子和分母 MOD 1e6+3
求MOD前，要求分子分母互质。




题解：


看到题就蒙了，主要搬运官解。


要用到勒让德公式





p是质数，n是非负整数，是n中不超过n的p^x的最大的x值。表示]]></description><category></category></item><item><title><![CDATA[【数论】矩阵快速幂求Fibonacci数列]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52555123</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52555123</guid><author>miku23736748</author><pubDate>Fri, 16 Sep 2016 13:36:24 +0800</pubDate><description><![CDATA[我们可以用如下方式求斐波那契数列。

原理如下图


因为是幂次，容易联想到快速幂。
用结构体封装矩阵，就可快速求出F(n)
时间复杂度为O(logn * 2^3)
代码如下
#include 
#include 

using namespace std;
const int MOD = 1000000007 ;
typedef long long LL;

struct ma]]></description><category></category></item><item><title><![CDATA[【数论】hdu5080  Colorful Toy （polya计数+简单几何）]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52416821</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52416821</guid><author>miku23736748</author><pubDate>Fri, 02 Sep 2016 21:04:09 +0800</pubDate><description><![CDATA[http://wenku.baidu.com/link?url=VdNuq_v1vSljg1trqJLv-KqXApXxTXydSJVLw-Knq6Q4RLPJArpKTQJnJguA9jc7EPMbwk5jD8jVIJpDxap4KkDEMzXus0auGG6NUKAIbF7]]></description><category></category></item><item><title><![CDATA[【数论】hdu5072 Coprime （容斥求互质+组合计数）]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52399300</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52399300</guid><author>miku23736748</author><pubDate>Thu, 01 Sep 2016 14:35:07 +0800</pubDate><description><![CDATA[题目链接：
http://acm.split.hdu.edu.cn/showproblem.php?pid=5072

题目大意：
给N个数，要求选出其中3个，使他们都互质，或都不互质，问有多少种选法。


解题思路：
3个数互质或不互质，即为0组或3组互质，首先可以题目转化为求3个数中1组互质或2组互质的情况。（如下图）



问题转化为，3个数中，至少1对互质且至少1对]]></description><category></category></item><item><title><![CDATA[codeforce710 C. Magic Odd Square]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52289969</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52289969</guid><author>miku23736748</author><pubDate>Tue, 23 Aug 2016 13:08:27 +0800</pubDate><description><![CDATA[题目链接：
http://codeforces.com/contest/710/problem/C

题意：
给出1~n^2个数，将其填入n*n的矩阵，并保证每行每列，主对角线的和都为奇数。（n为奇数）


题解：
纠结于数学之美，在这个水题上卡了半天。
因为偶+偶=偶；奇+奇=偶，所以保证每行每列有一个奇数就可以了。其他数字都对称地填进去。（易证，剩余数能被4整除）
先生成一]]></description><category></category></item><item><title><![CDATA[【数论】hdu5584 LCM walk（数学推导）]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52233964</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52233964</guid><author>miku23736748</author><pubDate>Wed, 17 Aug 2016 19:47:55 +0800</pubDate><description><![CDATA[题意：
从（x，y）点出发，到（x+z,y）或（x,y+z）z=lcm（x,y）;给出终点（a,b）,问有多少个可能起点。

题解：
注意到 gcd（x+z,y）==gcd(x,y+z)==gcd(x,y)就不难了。
从起点到终点gcd一定要相同。
设g=gcd（x,y）;则x‘=y*g/(x+g)  注意令y>x;


推导过程中要用到lcm（x,y）=x*y/gcd(x,y)]]></description><category></category></item><item><title><![CDATA[【数论】hdu1402 A * B Problem Plus(FFT)]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52212365</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52212365</guid><author>miku23736748</author><pubDate>Mon, 15 Aug 2016 16:33:32 +0800</pubDate><description><![CDATA[题意：
大数相乘


题解：
由于题范围为10^5;大数据模拟复杂度为O(n^2),需要用FFT实现快速乘。


FFT的原理参考了下方博客：
http://blog.miskcoo.com/2015/04/polynomial-multiplication-and-fast-fourier-transform#mjx-eqn-IDFT-equation


模板（kuan]]></description><category></category></item><item><title><![CDATA[【数论】poj2891 Strange Way to Express Integers（一般模线性方程组）]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52164005</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52164005</guid><author>miku23736748</author><pubDate>Tue, 09 Aug 2016 16:41:23 +0800</pubDate><description><![CDATA[来源：http://www.cnblogs.com/Missa/archive/2013/06/01/3112536.html
不满足中国余数定理，一般模线性方程组


/**********************一般模线性方程组***********************/

同样是求这个方程组
X mod m1=r1
X mod m2=r2
...
...
...
]]></description><category></category></item><item><title><![CDATA[【数论】hdu5768 Lucky7（中国剩余定理）]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52151044</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52151044</guid><author>miku23736748</author><pubDate>Mon, 08 Aug 2016 13:54:50 +0800</pubDate><description><![CDATA[题目大意：
给n组质数m和余数a，给定范围（x，y），求这之中能整除7的数s。
再排除其中满足  s%m=a的数，问有多少个这样的数。


解题思路：
看题意就知道，这是明显的容斥题，而m又都是质数，可以直接套用中国余数定理。
只要将（7,0）这组数加入余数方程组，就能得到每次的结果。


中国余数定理运算过程中会爆long long，所以要用快速乘。


容斥原理：]]></description><category></category></item><item><title><![CDATA[【数论】poj1777 Vivian's Problem（梅森素数）]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52135932</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52135932</guid><author>miku23736748</author><pubDate>Sat, 06 Aug 2016 14:19:04 +0800</pubDate><description><![CDATA[题意：给定k个数，然后为每个数添加一个幂ei（0=如果M的所有因子的和可以写成2^x,求x的最大值，如果没有条件满足，输出NO。
刚看到题没什么思路，解题需要一些结论。
1：梅森素数]]></description><category></category></item><item><title><![CDATA[【数论】CF#364 div.2 B.Cells Not Under Attack]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52130046</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52130046</guid><author>miku23736748</author><pubDate>Fri, 05 Aug 2016 16:06:44 +0800</pubDate><description><![CDATA[题目链接：
http://codeforces.com/contest/701/problem/B


大意：
在棋盘上下棋子，每个棋子占领同排同列的所有格子，统计每一步之后没有被占领的格子数目。


题解：
统计被棋子占领的行数和列数，设为cnx，cny；则占领重复的格子数为cnx*cny；
占领数为 cnt=cnx*n+cny*n-cnx*cny；


代码如下：]]></description><category></category></item><item><title><![CDATA[【hdu5741】helter skelter]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/52039847</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/52039847</guid><author>miku23736748</author><pubDate>Tue, 26 Jul 2016 21:45:34 +0800</pubDate><description><![CDATA[看了官方给的提解后恍然大悟，不过其实没必要用凸包，只要枚举即可。


首先想象0,1的字串都各只有一串的情况，则图形为一个完整的矩形。当字串增加，就是多个矩形的叠加。
因此只扫一次是明显不够的，要以每一个0串为起始串枚举下边界，以每一个1串为起始枚举上边界。
但是这样得到的两串数对（x，y）是冗余的，因此需要对得到的数对进行筛选，精简。
即找到如题解中所示的红点，以及绿点这些关键点。(]]></description><category></category></item><item><title><![CDATA[【数论】UVa OJ 113 - Power of Cryptography (密文的乘方)]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/51997173</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/51997173</guid><author>miku23736748</author><pubDate>Fri, 22 Jul 2016 17:59:36 +0800</pubDate><description><![CDATA[The Problem
问题

Given an integer n ≥ 1 and an integer p ≥ 1 you are to write a program that determines , the positive nth root
 of p. In this problem, given such integers n and p, p will always be]]></description><category></category></item><item><title><![CDATA[hdu1024-经典动态规划]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/47973819</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/47973819</guid><author>miku23736748</author><pubDate>Tue, 25 Aug 2015 11:02:39 +0800</pubDate><description><![CDATA[题意：给出一串长度为n的数组，有正有负，求其中m段的和的最大值
由于n比较大，m的值未给定，所以用滚动数组。


dp[j] 用来记录前j-1个元素中值最大的段当前元素j的和
temp[j] 用来记录到j元素为止的值最大的段的和
ans直接记录最大值，同时用于更新temp.


代码如下：

#include
#include
#include
using namespace]]></description><category></category></item><item><title><![CDATA[hdu1013-简单模拟]]></title><link>https://blog.youkuaiyun.com/miku23736748/article/details/47946713</link><guid>https://blog.youkuaiyun.com/miku23736748/article/details/47946713</guid><author>miku23736748</author><pubDate>Mon, 24 Aug 2015 09:58:42 +0800</pubDate><description><![CDATA[给一个数字，将他的各位数字相加，循环，直到变成个位数为止 
题中没有给数字范围，所以要用字符串处理 
字符串的范围未知，由于题比较简单，可以直接用字符处理。 
对于换行和0的处理参考了
  http://blog.youkuaiyun.com/gneveek/article/details/6918955
在网上看到数的树根k=(n-1)%9-1，原理如下 
n=0 1 2 3 4 5 6 7 8 9 10 1]]></description><category></category></item></channel></rss>