t2s-palindrome
t3 exponential notation
t4swaps in permutation
t5xor-sequences
t6couple cover
t1位置所在
就是給你乙個 01串,讓你找出是否這個串只有乙個 0 ,如果是,輸出」yes」,不然就是輸出」no」!但是只有乙個鈕扣的時候要進行特判,必須是只有1的串(給題意殺了……)
#include
using
namespace
std;
int main()
for(int i=1; i<=n; i++)
if(ans==1)
cout
<<"yes";
else
cout
<<"no";
return
0;}
t2位置所在
就是問你這一串英文本母是不是能夠在」鏡子」的照應之下,是和原來是對應一半相等的?
其實就是乙個大模擬!
#include
using
namespace
std;
const
int n=1005;
char s[n];
int check(char x,char y)
int main()
if(len%2==1)
else
return
0;}
t3位置所在
就是讓你講乙個數字,變成 x*pow(10,n)形式,比如
input
16 output
1.6e1
input
01.23400
output
1.234
input
.100
output
1e-1
input
100.
output
1e2
#include
using
namespace
std;
const
int n=1000005;
char s[n];
int main()
else
if (s[i]>'0'&&s[i]<='9')
}flag=0;
for(int i=n; i>=1; i--)
else
if (s[i]!='0')
}//coutif(sepelse
int p=0;
for(int i=sta+1; i<=end; i++)
printf("%c",s[sta]);
if(p==1) cout
<<'.';
if(p)
}if(l!=0)
}
t4位置所在
給乙個數列,現在可以交換ai和bi,問能得到的最大的字典序的數列是什麼
還有就是a->b,b->c那麼 a->c啊!所以就是可以用到乙個並查集的工作!
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int n=1000005;
int fa[n],a[n];
int n,m;
vector
value[n];
vector
order[n];
int find(int a)
int add(int x,int y)
int main()
for(int i=1; i<=m; i++)
for(int i=1; i<=n; i++)
for(int i=1; i<=n; i++)
t5位置所在
給定序列,從序列中選擇k(1≤k≤1e18)個數(可以重複選擇),使得得到的排列滿足xi與xi+1異或的二進位制表示中1的個數是3的倍數。問長度為k的滿足條件的 序列有多少種?
矩陣快速冪!
#include
#include
#include
#include
#define ll long long
using
namespace
std;
const
int mod=1000000007;
ll m,a[1005];
int n,ans;
struct number
} ans,k,fin;
number operator * (number ans,number k)
return res;
}int main()
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
if(cnt%3==0)
k.edge[i][j]=1;
}m--;
for(int i=1; i<=n; i++)
ans.edge[i][i]=1;
while(m)
k=k*k;
m>>=1;
// cout<}
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
printf("%d\n",ans%mod);
return
0;}
就是在看見了1e18的資料的時候就是想到一定是用log的演算法來完成它,所以就是要想到快捷的方法,於是就是矩陣快速冪!
t6位置所在
就是問你在乙個序列裡面,有多少對數的積是大於等於p 的?
有多組詢問!
如果簡單的列舉會十分的困難,肯定會tle,但是其實這道題目的資料會有許多重複的,所以只要用乙個桶來裝這些數字,在預處理一下就好了,(正難則反)只要看有多少是小於p的而且有多少是總的,減一下就好了!
#include
using
namespace
std;
const
int n=3000005;
long
long n;
long
long num[n],qus[n];
int main()
for(int i=1; i*ifor(int j=i; i*jif(i==j)
qus[i*i]+=num[i]*(num[i]-1);
else
qus[i*j]+=num[i]*num[j]*2;
}for(int i=0; i1];
}//que[n-1]?a¡á????a
scanf("%d",&m);
for(int i=1; i<=m; i++)
}
奮鬥群群賽 4
t2arpa and an exam about geometry t3five dimensional points t4polycarpus dice總結 t1位置所在 有一排觀眾席,有n個人,當t 1時第乙個人站起來,t 2時第二個人站起來,t 3時第三個人站起來 到k位置,都是站起來,但是k...
奮鬥群群賽 9
t2the queue t3garland t4cartons of milk t5change free總結 t1位置所在 就是給你n個數字,讓你建乙個塔,從n到底部而且最後再到1,輸入天數,如果可以建立塔的話,輸出這些部分,如果沒有可以建的東西,就輸出換行就好了,第i位對應第i天下下來的食物!求...
奮鬥群群賽7總結與心得
t2t3 t4t5 本次人品很好,老師發了一次福利,五道題都很水 我應該沒有資格說這種話吧 對於乙個大於1的正整數,輸出它最多能被分解成多少個質數之和,以及這些質數.明顯的水題吧.對於偶數,全部輸出2 對於奇數,輸出很多2加上乙個3就可以了.include using namespace std i...