<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qtmatt的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qtmatt</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qtmatt]]></copyright><item><title><![CDATA[gcd(a,b)=gcd(b,a%b)]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/114002166</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/114002166</guid><author>qtmatt</author><pubDate>Tue, 23 Feb 2021 20:25:57 +0800</pubDate><description><![CDATA[设gcd(a,b)=m;
a=Am,b=Bm，其中A,B互质；
a-b=m(A-B),于是gcd(a-b,b)=m;
简单证明：
设gcd(A-B,B)=k;
k|A-B,k|B;
==&gt;K|A,k|B,又因为gcd(A,B)=1;
所以k=1;
gcd(a,b)=gcd(a-b,b);
//
gcd(a,b)=gcd(b,a%b)
证明gcd(a,b)=gcd(a-b,b)=gcd(a-2b,b)=gcd(a-nb,b);
又a-nb=r;
所以gcd(a,b)=gcd(a-b,b)=gcd(b,a]]></description><category></category></item><item><title><![CDATA[线性筛子]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/99110119</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/99110119</guid><author>qtmatt</author><pubDate>Sat, 10 Aug 2019 22:06:27 +0800</pubDate><description><![CDATA[//暴力枚举；
int isPrime(int n)
{
	if(n&lt;=1)return 0;
	for(int i=2;i*i&lt;=n;i++)
	if(n%i==0)return 0;
	return 1;
	//每个数我们需要枚举sqrt(n)次，有n个数需要o（nsqrt(n)）;
}

//埃拉托斯特尼筛


	memset(falg,0,sizeof(flag));
	int...]]></description><category></category></item><item><title><![CDATA[ACwing 149. 荷马史诗]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98943264</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98943264</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 10:31:21 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;vector&gt;
#include&lt;queue&gt;

using namespace std;

typedef long long LL;
typedef pair&lt;LL,int&gt;PLI;//权值和路径；

int main()
{
 int n,k;
 cin&gt;&gt;n&gt;&gt...]]></description><category></category></item><item><title><![CDATA[ACwing 148. 合并果子]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98943146</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98943146</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 10:29:18 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;queue&gt;
#include&lt;algorithm&gt;
#include&lt;vector&gt;


using namespace std;
int n;

int main()
{
  cin&gt;&gt;n;
  priority_queue&lt;int,vector&lt;int&gt;,g...]]></description><category></category></item><item><title><![CDATA[ACwing 146. 序列]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98943010</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98943010</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 10:27:22 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;vector&gt;
#include&lt;queue&gt;
#include&lt;algorithm&gt;

using namespace std;

const int N=2010;
int a[N],b[N],c[N];
int m,n;
typedef pair&lt;int,int&gt; pii;
...]]></description><category></category></item><item><title><![CDATA[ACwing 94. 递归实现排列型枚举]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98942274</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98942274</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 10:17:28 +0800</pubDate><description><![CDATA[`
#include&lt;iostream&gt;
#include&lt;vector&gt;


using namespace std;

int n;
vector&lt;int&gt;ans;
vector&lt;bool&gt;rec;
void dfs(int &amp;&amp;count)
{
  if(ans.size()==n)
  {
    for(auto p:ans...]]></description><category></category></item><item><title><![CDATA[ACwing 93. 递归实现组合型枚举]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98941943</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98941943</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 10:11:28 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;vector&gt;
using namespace std;

int n,m;
/*void dfs(int u,int sum,int state)
{
    if(sum+n-u&lt;m)return;
    if(sum==m)
    {
        for(int i=0;i&lt;n;i++)
...]]></description><category></category></item><item><title><![CDATA[ACwing 92. 递归实现指数型枚举(二进制与非二进制)]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98941757</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98941757</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 10:08:12 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;vector&gt;
using namespace std;


int n;

/*void dfs(int u,int state)
{
    
    if(u==n)
    {
        for(int i=0;i&lt;n;i++)
        if( state&gt;&gt;i &amp; ...]]></description><category></category></item><item><title><![CDATA[ACwing 95. 费解的开关]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98940842</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98940842</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 10:02:11 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;cstring&gt;

using namespace std;


char f[10][10];
int dx[5]={0,-1,0,1,0},dy[5]={0,0,1,0,-1};//五个位置
const int N=10000000;


void turn(int x,int y)//只要按下周围五个位置状...]]></description><category></category></item><item><title><![CDATA[ACwing 90. 64位整数乘法]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98940716</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98940716</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 09:51:10 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
using namespace std;


int main()
{
    long long a,b,p;
    cin&gt;&gt;a&gt;&gt;b&gt;&gt;p;
    long long res=0;
    while(b)
    {
        if(b&amp;1)res=(res+a)%p;//提前%p把...]]></description><category></category></item><item><title><![CDATA[ACwing 89. a^b]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98939857</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98939857</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 09:43:44 +0800</pubDate><description><![CDATA[#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;cmath&gt;
#include&lt;vector&gt;
 
using namespace std;

int main()
{
    int a, b, p;
    cin &gt;&gt; a &gt;&gt; b &gt;&gt; p;

    i...]]></description><category></category></item><item><title><![CDATA[547. 朋友圈（并查集+dfs）]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98899985</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98899985</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 00:04:10 +0800</pubDate><description><![CDATA[/*class unionfind{
  public:
  vector&lt;int&gt;father;
  unionfind(int &amp;num){
    
    for(int i=0;i&lt;num;i++)
      father.push_back(i);
  }
  int find(int &amp;n){
    
    if(father[n]==n)...]]></description><category></category></item><item><title><![CDATA[leetcode 684. 冗余连接（并查集）]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98899802</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98899802</guid><author>qtmatt</author><pubDate>Fri, 09 Aug 2019 00:01:48 +0800</pubDate><description><![CDATA[class unionfind{
public:
    vector&lt;int&gt;father;
    unionfind(const int &amp;num){//num表示元素的个数
        for(int i = 0; i &lt; num; i++){
            father.push_back(i);//箭头指向自己
        }
    }...]]></description><category></category></item><item><title><![CDATA[leetcode 200. 岛屿数量(并查集)]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98899475</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98899475</guid><author>qtmatt</author><pubDate>Thu, 08 Aug 2019 23:59:26 +0800</pubDate><description><![CDATA[class findunion{
  public:
  vector&lt;int&gt;father;
  findunion(const int &amp;num)
  {
    for(int i=0;i&lt;num;i++)father.push_back(i);//让自己指向自己
     
  }
  int find(const int &amp;n)
  {
    if...]]></description><category></category></item><item><title><![CDATA[ACwing 24. 机器人的运动范围]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98899108</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98899108</guid><author>qtmatt</author><pubDate>Thu, 08 Aug 2019 23:55:44 +0800</pubDate><description><![CDATA[class Solution {
public:
    typedef pair&lt;int,int&gt;PII;
    int get_single_sum(int x)
    {
      int s=0;
      while(x)s+=x%10,x/=10;//求下标和
      return s;
    }
    int get_sum(PII p)
    {
...]]></description><category></category></item><item><title><![CDATA[letcode 42. 接雨水]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98479381</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98479381</guid><author>qtmatt</author><pubDate>Mon, 05 Aug 2019 10:16:23 +0800</pubDate><description><![CDATA[class Solution {
public:
    int trap(vector&lt;int&gt;&amp; height) {
       int ans=0;
       stack&lt;int&gt;skt;
       int n=height.size();
       for(int i=0;i&lt;n;i++)
       {
         whi...]]></description><category></category></item><item><title><![CDATA[leetcode 347. 前 K 个高频元素]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98257070</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98257070</guid><author>qtmatt</author><pubDate>Fri, 02 Aug 2019 23:45:19 +0800</pubDate><description><![CDATA[class Solution {
public: 
    vector&lt;int&gt; topKFrequent(vector&lt;int&gt;&amp; nums, int k) {
      unordered_map&lt;int,int&gt;F;
      vector&lt;int&gt;ans;
      vector&lt;int&gt;res(nums.si...]]></description><category></category></item><item><title><![CDATA[leet code 350. 两个数组的交集 II]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98256902</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98256902</guid><author>qtmatt</author><pubDate>Fri, 02 Aug 2019 23:44:04 +0800</pubDate><description><![CDATA[class Solution {
public:
    vector&lt;int&gt; intersect(vector&lt;int&gt;&amp; nums1, vector&lt;int&gt;&amp; nums2) {
        unordered_map&lt;int,int&gt;F;
        vector&lt;int&gt;ans;
        fo...]]></description><category></category></item><item><title><![CDATA[leetcode 297. 二叉树的序列化与反序列化]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98184799</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98184799</guid><author>qtmatt</author><pubDate>Fri, 02 Aug 2019 11:42:04 +0800</pubDate><description><![CDATA[/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
c...]]></description><category></category></item><item><title><![CDATA[leetcode 124. 二叉树中的最大路径和]]></title><link>https://blog.youkuaiyun.com/qtmatt/article/details/98184702</link><guid>https://blog.youkuaiyun.com/qtmatt/article/details/98184702</guid><author>qtmatt</author><pubDate>Fri, 02 Aug 2019 11:34:55 +0800</pubDate><description><![CDATA[/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
cl...]]></description><category></category></item></channel></rss>