下面展示一些 题解`。
括号
#include<bits/stdc++.h>
using namespace std;
int main(){
cin.tie(0);
ios::sync_with_stdio(0);
int k,i;
cin>>k;
if (k == 0) {//非空
cout << ")(" << endl;
}
else {//先写左括号,举个例子 k=17,那么根号k=4 ,
// 还剩下17-4*4=1
//第一步。(
//第二步。()
//第三步。()(((
//第四步。()((())))4*4+1
int p=sqrt(k);
int c=k/p,y=k%p;
for(i=0;i<y;i++)printf("(");//
printf(")");
for(;i<p;i++)printf("(");
for(i=0;i<c;i++)printf(")");
}
}
限制不互素对的排列
1.题目要求不大于n的数
2.k<=n/2;
3.gcd要大于1
3.开始分析:n有(int)n/2的偶数 2,4,6,8 一定是可以的,1,3,5,7,9就是一定不可以的。
注意事项:如果k==n/2,比如n=6时,k=3,那么2,4,6是无法满足的要此时
要借助6这个数6,3也满足题意2,4,6,3,1,5就可以了,所以
要讨论两点一个是n<6的情况,另一个是k==n/2的情况
#include<iostream>
using namespace std;
int n,k;
int main(){
cin.tie(0);
ios::sync_with_stdio(0);
cin>>n>>k;
if(n<6){
if(k==n/2) cout<<"-1"<<" ";
else if(k==0){
for(int i=1;i<=n;i++){
cout<<i<<" ";
}
}
else {
for(int i=0,j=2;i<=k;i++){
cout<<j<<" ";
j+=2;
}
for(int i=0,j=1;i<=k;i++){
cout<<j<<" ";
j+=2;
}
for(int i=2*(k+1)+1 ;i<=n;i++){
cout<<i<<" ";
}
}
}
else{
if(k==n/2) {
cout<<"2 4 ";
for(int i=0,j=8;i<k-3;i++){
cout<<j<<" ";
j+=2;
}
cout<<"6 3 1 ";
if(n&1){ //因为是向下取的所以要分奇数偶数
for(int i=0 ,j=5;i<k-1 ;i++){
cout<<j<<" ";
j+=2;
}
}
else{
for(int i=0 ,j=5;i<k-2 ;i++){
cout<<j<<" ";
j+=2;
}
}
}
else if(k==0){
for(int i=1;i<=n;i++){
cout<<i<<" ";
}
}
else {
for(int i=0,j=2;i<=k;i++){
cout<<j<<" ";
j+=2;
}
for(int i=0,j=1;i<=k;i++){
cout<<j<<" ";
j+=2;
}
for(int i=2*(k+1)+1 ;i<=n;i++){
cout<<i<<" ";
}
}
}
}
串
这题对我来讲好难,第一次实际取mod的题
要用道快速幂,还要用到dp,感谢牛客网大佬的讲解
#include<iostream>
#include<cstring>
using namespace std;
const int N =1000010,M =1e9+7;
long long f[N]={0};//表示N长的有多少"us"
long long n;
long long quickmid(long a,long b){
long long res=1;
while(b){
if(b&1) res=res*a%M;
b>>=1;
a=a*a%M;
}
return res;
}
int main(){
cin.tie(0);
ios::sync_with_stdio(0);
cin>>n;
long long cnt=0;
f[1]=0;
f[2]=1;
for(int i=3;i<=1e6;i++) f[i]=(quickmid(26,i-1)-quickmid(25,i-1)+25*f[i-1]+2*M)%M;//为了防止减法出现负数你要加上n个mod
for(int i=1;i<=n;i++) cnt=(cnt+f[i])%M;
cout<<cnt;
}
下面展示一些 内联代码片
。
// A code block
var foo = 'bar';
// An highlighted block
var foo = 'bar';
下面展示一些 内联代码片
。
// A code block
var foo = 'bar';
// An highlighted block
var foo = 'bar';
下面展示一些 内联代码片
。
// A code block
var foo = 'bar';
// An highlighted block
var foo = 'bar';
下面展示一些 内联代码片
。
// A code block
var foo = 'bar';
// An highlighted block
var foo = 'bar';