<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TimEckel的博客]]></title><description><![CDATA[你以为的极限，弄不好只是别人的起点]]></description><link>https://blog.youkuaiyun.com/TimEckel</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TimEckel]]></copyright><item><title><![CDATA[Shell中for循环的几个常用写法]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/80756835</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/80756835</guid><author>TimEckel</author><pubDate>Thu, 21 Jun 2018 10:37:34 +0800</pubDate><description><![CDATA[转载：https://blog.youkuaiyun.com/babyfish13/article/details/52981110第一类：数字性循环-----------------------------for1-1.sh[html] view plain copy#!/bin/bash    for((i=1;i&amp;lt;=10;i++));  do   echo $(expr $i \* 3 + 1);...]]></description><category></category></item><item><title><![CDATA[【Linux】fork()函数 vfork() 子进程父进程]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/80430996</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/80430996</guid><author>TimEckel</author><pubDate>Thu, 24 May 2018 10:57:22 +0800</pubDate><description><![CDATA[一fork函数将运行着的程序分成2个（几乎）完全一样的进程，每个进程都启动一个从代码的同一位置开始执行的线程。这两个进程中的线程继续执行，就像是两个用户同时启动了该应用程序的两个副本。返回一个大于0的值给父进程返回0给子进程返回其他值说明fork失败了#include&amp;lt;stdio.h&amp;gt;
#include&amp;lt;unistd.h&amp;gt;
int main()
{
    pid_t pi...]]></description><category></category></item><item><title><![CDATA[巴什博弈]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/79878341</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/79878341</guid><author>TimEckel</author><pubDate>Tue, 10 Apr 2018 11:30:00 +0800</pubDate><description><![CDATA[巴什博弈：只有一堆n个物品，两个人轮流从这堆物品中取物， 规定每次至少取一个，最多取m个。最后取光者得胜。这是巴什博弈最简单的定义，巴什博弈也是相对简单的一种博弈#include &amp;lt;iostream&amp;gt;  
using namespace std;  
int main()  
{  
    int n,m;  
    while(cin&amp;gt;&amp;gt;n&amp;gt;&amp;gt;m)  
 ...]]></description><category></category></item><item><title><![CDATA[博弈论]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/79783675</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/79783675</guid><author>TimEckel</author><pubDate>Mon, 02 Apr 2018 00:34:27 +0800</pubDate><description><![CDATA[引例Nim游戏：有三堆扑克牌（比如：可以分别是    5，7，9张）；游戏双方轮流操作；有两个玩家；玩家的每次操作是选择其中某一堆牌，然后从中取走任意张；最后一次取牌的一方为获胜方；可以推出：对于nim游戏的某个位置(x1,x2,x3),当且仅当它各部分的nim-sum等于0时（即x1⊕x2⊕x3=0），则当前位于必败点。博弈里面常常用到一个重要的概念 -- SG。书上的定义：除任意一步所能转移到...]]></description><category></category></item><item><title><![CDATA[Polya定理]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/79736460</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/79736460</guid><author>TimEckel</author><pubDate>Thu, 29 Mar 2018 00:43:54 +0800</pubDate><description><![CDATA[polya定理主要是用于解决等价类计数问题的，所谓等价类计数问题是指题目中会定义一种等价关系，满足这个关系的元素都会被看成同一类，并只需要统计一次，最终需要统计所有的不同方案数。polya定理主要就是解决一类着色问题,对于任意的带变换的着色计数问题，我们都可以把变换用置换群表示出来，或者说是同构计数问题。设染色方案数是n，置换群个数是p，置换群长度是s，那么利用Burnside引理，通过考察每个染...]]></description><category></category></item><item><title><![CDATA[2017.12.7]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78747559</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78747559</guid><author>TimEckel</author><pubDate>Fri, 08 Dec 2017 00:43:32 +0800</pubDate><description><![CDATA[这周我在补组合数学的题目，前面的几个题还好，到后面几个做起来就有点吃力，涉及的知识点也挺多，一个题的方法也很多，凸包，莫比乌斯反演啥的几个题感觉根本理解不了。前边那些还想找时间看，但是英语不太好，花在英语上的时间有点多。]]></description><category></category></item><item><title><![CDATA[2017.12.3]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78705346</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78705346</guid><author>TimEckel</author><pubDate>Sun, 03 Dec 2017 23:15:48 +0800</pubDate><description><![CDATA[这周周五刚考完数据库，周末把题都看了一遍，写了写思路。这个星期有点没太好好做题，下次考试之前稍微宽裕一点。心里反正有点纠结。]]></description><category></category></item><item><title><![CDATA[2017.11.30]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78681695</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78681695</guid><author>TimEckel</author><pubDate>Thu, 30 Nov 2017 22:14:54 +0800</pubDate><description><![CDATA[昨天比赛有点失误，那个贪心的题样例不对一直改不对，有点憋死在上面，后来剩的时间不多了换了一道才避免没一道没过。最近开始组合数学了，我原来看过一点，这两天也在看，懂是不敢说懂只能说是知道了，最近考试有点多，也稍微有点懈怠，原来有整晚的时间，现在时间少了一些了，但是进度还是要赶，感觉这个速度还是有点不够。这部分除了给的，别的琐碎的也挺多的，我离散这里理解能力不是特别强，花时间挺长的，专题有计划的做，每天]]></description><category></category></item><item><title><![CDATA[筛素数]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640758</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640758</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 22:44:53 +0800</pubDate><description><![CDATA[ACM比赛中经常能遇到关于素数的题目，可能需要我们预处理求出100W，1000W以内的所有素数。笔者在这里介绍共三种筛素数的方法，代码如下：#include <cstdio>  
#include <cstring>  
#include <algorithm>  
using namespace std;  const int maxn=100000000;  
int prime[maxn];]]></description><category></category></item><item><title><![CDATA[快速幂]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640734</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640734</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 22:41:53 +0800</pubDate><description><![CDATA[a的b次方怎么求pow（a, b）是数学头文件math.h里面有的函数可是它返回值是double类型，数据有精度误差LL pow(LL a, LL b){//a的b次方
    LL ret = 1;
    for(LL i = 1; i <= b; i ++){
        ret *= a;
    }
    return ret;
}如果数据量大而且要modLL pow_mod(LL]]></description><category></category></item><item><title><![CDATA[2017.11.26]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640704</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640704</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 22:38:14 +0800</pubDate><description><![CDATA[有的总结以后还可以完善，有的比较细的地方我还没有写。博客总结有的还是有点罗嗦。]]></description><category></category></item><item><title><![CDATA[大数因数分解Pollard_rho 算法]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640669</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640669</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 22:34:30 +0800</pubDate><description><![CDATA[大数分解最简单的思想也是试除法，这里就不再展示代码了，就是从2到sqrt(n)，一个一个的试验，直到除到1或者循环完，最后判断一下是否已经除到1了即可。但是这样的做的复杂度是相当高的。一种很妙的思路是找到一个因子（不一定是质因子），然后再一路分解下去。这就是基于Miller_rabin的大数分解法Pollard_rho大数分解。Pollard_rho算法的大致流程是 先判断当前数是否是素数（Mill]]></description><category></category></item><item><title><![CDATA[Miller_Rabin算法]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640658</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640658</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 22:33:12 +0800</pubDate><description><![CDATA[定理一：假如p是质数，且(a,p)=1，那么a^(p-1)≡1(mod p)。即假如p是质数，且a,p互质，那么a的(p-1)次方除以p的余数恒等于1。（费马小定理）该定理的逆命题是不一定成立的，但是令人可喜的是大多数情况是成立的。于是我们就得到了一个定理的直接应用，对于待验证的数p，我们不断取a∈［1，p-1]且a∈Z，验证a^(p-1) mod p是否等于1，不是则p果断不是素数，共取s次。其中]]></description><category></category></item><item><title><![CDATA[拓展欧几里德]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640605</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640605</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 22:27:44 +0800</pubDate><description><![CDATA[首先， ax+by = gcd(a, b) 这个公式肯定有解 （( •̀∀•́ )她说根据数论中的相关定理可以证明，反正我信了）所以 ax+by = gcd(a, b) * k 也肯定有解 （废话，把x和y乘k倍就好了）所以，这个公式我们写作ax+by = d，(gcd(a, b) | d)gcd(a, b) | d，表示d能整除gcd，这个符号在数学上经常见 
那么已知 a，b 求 一组解 x，y]]></description><category></category></item><item><title><![CDATA[威尔逊定理]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640578</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640578</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 22:23:57 +0800</pubDate><description><![CDATA[当且仅当p为素数时：( p -1 )! ≡ -1 ( mod p )。这是威尔逊给出了判定一个自然数是否为 素数 的 充分必要条件但是由于阶乘是呈爆炸增长的，其结论对于实际操作意义不大。初等数论四大天王之一。 
hdu2973#include <iostream>
#include<cstdio>
using namespace std;
#define maxn 1000010
int a[max]]></description><category></category></item><item><title><![CDATA[中国剩余定理]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640198</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640198</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 21:41:02 +0800</pubDate><description><![CDATA[①设正整数两两互素， 
中国剩余定理给出了以下的一元线性同余方程组： 
 
中国剩余定理说明：假设整数m1,m2, … ,mn两两互质，则对任意的整数：a1,a2, … ,an， 
 方程组(S) 
有解，并且通解可以用如下方式构造得到： 
设是整数m1,m2, … ,mn的乘积，并设是除了mi以外的n- 1个整数的乘积。 
设通解形式为在模M的意义下，方程组(S)只有一个解： 
poj1006]]></description><category></category></item><item><title><![CDATA[欧拉函数]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78640050</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78640050</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 21:23:17 +0800</pubDate><description><![CDATA[关于欧拉函数有如下几点性质： 
1、phi(1) = 1 
2、若n是质数，那么phi(n) = n-1 
3、若n是质数x的k次幂，phi(n) = (x-1)*x^(k-1) 
4、若m，n互质，那么phi(m*n) = phi(m)*phi(n) 
5、若n是奇数，那么phi(2*n) = phi(n) 
6、若x，y是质数，且n = x*y，那么phi(n) = (x-1)*(y-1) 
6]]></description><category></category></item><item><title><![CDATA[欧拉函数模板]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78639392</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78639392</guid><author>TimEckel</author><pubDate>Sun, 26 Nov 2017 20:08:44 +0800</pubDate><description><![CDATA[5 LL eulr(LL n) 
  6 { 
  7     LL ans=n; 
  8     for(LL i=2;i*i<=n;i++) 
  9     { 
 10         if(n%i==0) 
 11         { 
 12             ans=ans/i*(i-1); 
 13             while(n%i==0) 
 14]]></description><category></category></item><item><title><![CDATA[2017.11.23]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78619552</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78619552</guid><author>TimEckel</author><pubDate>Thu, 23 Nov 2017 22:03:14 +0800</pubDate><description><![CDATA[昨天做比赛，家里忽然断网，刚修好交上去就结束了。刚刚手感稍微有点回暖还这倒霉。这两天做题还是一个直观的感受，见的题目多了是真有用。我记得专题里有一个题目，是要用威尔逊定理。我当时看初等数论四大定理，看到了威尔逊定理，欧拉定理（数论中的欧拉定理），中国剩余定理，我一看阶乘就知道这东西没法用，资料上也写实用价值不大，可是他就是有这个题。重点是重点，有的东西真架不住没见过。虽然专题还没做完，还是看了一点概]]></description><category></category></item><item><title><![CDATA[输入优化]]></title><link>https://blog.youkuaiyun.com/TimEckel/article/details/78609896</link><guid>https://blog.youkuaiyun.com/TimEckel/article/details/78609896</guid><author>TimEckel</author><pubDate>Thu, 23 Nov 2017 00:46:20 +0800</pubDate><description><![CDATA[在竞赛中，遇到大数据时，往往读文件成了程序运行速度的瓶颈，需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头，于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的，C++选手只能干着急。难道C++真的低Pascal一等吗？答案是不言而喻的。一个进阶的方法是把数据一下子读进来，然后再转化字符串，这种方法传说中很不错，但]]></description><category></category></item></channel></rss>