日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[CodeForces1110C]Meaningless Operations

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [CodeForces1110C]Meaningless Operations 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Upd-2019/2/17:添加了特殊數據的求解方式。

題目鏈接:http://codeforces.com/problemset/problem/1110/C

題意簡述

定義函數\(f(a)\)為:

\[f(a)=\max\limits_{0<b<a} \{\gcd(a\oplus b,a~\& ~b)\}\]

給定\(a_1,a_2,...,a_q\)對于\(q\)個詢問,求出\(f(a_1),f(a_2),...,f(a_q)\)

題解

先放一個暴力代碼:

int f(int a) {int res=-1;for(int b=1;b<k;b++)res=max(res,__gcd(k^b,k&b));return res; }

然后華麗地TLE。

這種題一般都是找規律的,我們先打個表:

f( 2)= 3; f( 3)= 1; f( 4)= 7; f( 5)= 7; f( 6)= 7; f( 7)= 1; f( 8)= 15; f( 9)= 15; f( 10)= 15; f( 11)= 15; f( 12)= 15; f( 13)= 15; f( 14)= 15; f( 15)= 5; f( 16)= 31; f( 17)= 31; f( 18)= 31; f( 19)= 31; f( 20)= 31; f( 21)= 31; f( 22)= 31; f( 23)= 31; f( 24)= 31; f( 25)= 31; f( 26)= 31; f( 27)= 31; f( 28)= 31; f( 29)= 31; f( 30)= 31; f( 31)= 1; f( 32)= 63; f( 33)= 63; f( 34)= 63; f( 35)= 63; f( 36)= 63; f( 37)= 63; f( 38)= 63; f( 39)= 63; f( 40)= 63; ...... ......

我們驚喜的發現:除了\(f(2^{k}-1)\)是毫無規律的之外,其他的好像都于\(2^k-1\)有關。

先推出一個簡略的公式:

\[f(n)=2^{k+1}-1(2^k<=n<2^{k+1}-1)\]

稍微普遍化一下,即為:

\[f(n)=2^{\left\lfloor log_2n \right\rfloor+1}-1 (n\ne 2^{t+1}-1,0\le t\le2^{24},t\in \mathbb{Z}^{+})\]

這樣,我們就完成了一般數據的計算公式推導啦。

特殊數據呢?

打表!!!

map<int,int>table;table[1]=-1;table[3]=1;table[7]=1;table[15]=5;table[31]=1;table[63]=21;table[127]=1;table[255]=85;table[511]=73;table[1023]=341;table[2047]=89;table[4095]=1365;table[8191]=1;table[16383]=5461;table[32767]=4681;table[65535]=21845;table[131071]=1;table[262143]=87381;table[524287]=1;table[1048575]=349525;table[2097151]=299593;table[4194303]=1398101;table[8388607]=178481;table[16777215]=5592405;table[33554431]=1082401;

后來才發現:

\(f(2^{k}-1)\)也是可以求的!!!

\(a=2^{k}-1\)時:

\[a\& b=b,a\oplus b=a-b\]

\(a=(111...11)_{(2)}\)

\[\therefore \gcd(a\oplus b,a~\& ~b)=\gcd(a-b,b)\]

根據更相損減術,可得:

\[\gcd(a-b,b)=\gcd(a,b)\]

現在只要求\(\max\limits_{0<b<a} \{\gcd(a,b)\}\)即可。

而要求\(\gcd(a,b)\)的最大值,顯然只要\(b(b\ne a)\)\(a\)的最大因子即可。

main code

#include<bits/stdc++.h> using namespace std;inline int read(){int x=0,f=1;char c=getchar();while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}return f*x;} inline int log2(int a){return floor(log(a)/log(2));}inline int Calc(int a) {if(log2(a)!=log2(a+1))//判斷a是否為(1<<k)-1{register int b;for(b=2;(b*b<=a)&&(a%b);b++);//先求第二小的因子,再用a去除,即為最大因子。return __gcd(a,a/b);}return (1<<(log2(a)+1))-1; } signed main() {int Q;cin>>Q;for(int i=1;i<=Q;i++)cout<<Calc(read())<<endl;return 0; }

轉載于:https://www.cnblogs.com/-Wallace-/p/10388639.html

總結

以上是生活随笔為你收集整理的[CodeForces1110C]Meaningless Operations的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲欧洲日韩 | 老司机免费精品视频 | www.日本免费 | 国产日韩一区 | 国产精品视频导航 | 女同av网站 | 一级在线毛片 | 日韩中文字幕在线免费观看 | 国产a不卡 | 最近中文字幕在线免费观看 | 波多野结衣电影在线播放 | 香蕉视频官网在线观看 | 奇米影视第四色7777 | 国产一区二区 | 波多野结衣一区二区三区中文字幕 | 91色在线视频 | 国产精品视频无码 | 欧美黑人一级爽快片淫片高清 | 亚洲国产成人精品女人 | 日本视频免费 | 欧美日韩国产在线播放 | 久久久.www| 亚洲黄色av网站 | 精品在线99 | 人妻体内射精一区二区 | 51 吃瓜网| 欧美激情一区二区三区四区 | 久久精品性 | 久久精品精品 | 国产美女网站 | 日本网站黄色 | 手机看片日韩福利 | wwwxx在线| 在线97| 免费视频91 | 青青草成人影视 | 亚洲色图3p | 老色驴综合网 | 久久精品噜噜噜成人88aⅴ | 亚洲免费影院 | 精品在线视频免费观看 | 欧美videos另类极品 | 欧美日韩一区电影 | 狠狠躁狠狠躁视频专区 | 久久一区视频 | 无套暴操 | 色老头一区二区三区在线观看 | 国产看真人毛片爱做a片 | 污污网站在线观看 | 欧美日韩字幕 | 日韩麻豆视频 | 日日噜噜噜噜人人爽亚洲精品 | 美女131爽爽爽 | 妻色成人网 | 性欧美ⅹxxxx极品护士 | 五月开心播播网 | 国产精品二区一区二区aⅴ污介绍 | 精品国产乱码久久久久久浪潮 | 精品视频网 | 国产欧美一区二区三区在线老狼 | 亚洲乱熟| 中文字幕亚洲区 | 成人亚洲天堂 | 亚洲精品喷潮一区二区三区 | 在线观看毛片av | 高h在线观看| 久久国产精品网站 | 亚洲草逼视频 | 欧美久久99| 日韩综合第一页 | 97精品人妻一区二区三区在线 | 伊人青青| 日韩一区二区免费看 | 亚洲第一页在线 | 特级大胆西西4444人体 | 国产一二三在线观看 | 黑人巨大精品欧美一区二区 | 人妻熟女一区二区三区 | 99久久亚洲精品日本无码 | 一女二男一黄一片 | 大j8福利视频导航 | 国产精品爽爽久久 | 伊人青青久 | 二区三区在线观看 | 四季av一区二区夜夜嗨 | h视频网站在线观看 | 日韩在线一卡 | 美女av网站| 欧洲一区二区三区 | 樱桃视频一区二区三区 | 久久久精品人妻无码专区 | 久操国产在线 | 狠狠操天天操 | 免费色视频 | 欧美日韩免费观看一区=区三区 | 免费三片在线播放 | 91久久久久久久久久 | 国产成人无码一区二区三区在线 | 国产成人手机在线 |