Codeforces Round #786 (Div. 3)
枚举一下就好
点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define lowbit(x) x&(-x)
#define ll long long
int T;
int ksm(int a,int b){
int res=1;
while(b){
if(b&1)res*=a;
a*=a;b>>=1;
}
return res;
}
void solve();
int main(){
cin>>T;
while(T--)solve();
return 0;
}
void solve(){
int a,b;
scanf("%d%d",&a,&b);
if(b%a){
printf("0 0\n");
return;
}
int t=b/a;
if(t==1){
printf("1 1\n");
return;
}
for(int i=2;i<=100;i++)
for(int j=1;;j++){
int kk=ksm(i,j);
if(t==kk){
printf("%d %d\n",j,i);
return;
}
else if(t<kk)break;
}
printf("0 0\n");
}
判断一下就好 没啥好说的
点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define lowbit(x) x&(-x)
#define ll long long
int T;
string s;
void solve();
int main(){
cin>>T;
while(T--)solve();
return 0;
}
void solve(){
cin>>s;
int t1=s[0]-'a';
int ans=t1*25;
t1++;
int t2=s[1]-'a';t2++;
if(t2>t1)t2--;
ans+=t2;
cout<<ans<<endl;
}
首先判断只有一种可能的情况 t字符串里面没有'a' 或者有且只有一个'a'没有其他字符
考虑无限的情况 t中有一个'a'并且长度大于1
考虑有限的情况 设s中有cnt个'a' 每个'a'有换与不换两种选择 根据乘法原理 答案为ksm(2,cnt)
点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define lowbit(x) x&(-x)
#define ll long long
int T;
ll ksm(ll a,ll b){
ll res=1;
while(b){
if(b&1)res*=a;
a*=a;b>>=1;
}
return res;
}
void solve();
int main(){
cin>>T;
while(T--)solve();
return 0;
}
void solve(){
string s,t;
int cnt=0;
cin>>s>>t;
int l1=s.size(),l2=t.size();
for(int i=0;i<l1;i++)
if(s[i]=='a')cnt++;
if(!cnt||(l2==1&&t[0]=='a')){
cout<<1<<endl;
return;
}
int pd=0;
for(int i=0;i<l2;i++)
if(t[i]=='a')pd=1;
if(pd){
cout<<"-1"<<endl;
return;
}else{
cout<<ksm(2,cnt)<<endl;
}
}
发现规律 a[n]和a[n-1]一定是分居两侧 两者先后循序可以改变 取的话也是
所以从后往前两两排序 如果最终能够将整个序列排序 那就是YES 否则为NO
点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define lowbit(x) x&(-x)
#define ll long long
const int maxn=2e5+5;
int T;
int a[maxn];
void solve();
int main(){
cin>>T;
while(T--)solve();
return 0;
}
void solve(){
int n;cin>>n;
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
int pre=1e9;
for(int i=n;i>=1;i-=2){
if(i-1>=1){
if(pre<max(a[i],a[i-1])){
cout<<"NO"<<endl;
return;
}else pre=min(a[i],a[i-1]);
}else{
if(pre<a[i]){
cout<<"NO"<<endl;
return ;
}
}
}
cout<<"YES"<<endl;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)