第一次

第一次

1. 神秘符文的重复序列

 

 

 

逻辑思维
  #include<bits/stdc++.h> 
using namespace std;
int main(){int n,k;cin>>n>>k;//长度为n,重复k遍!string s;cin>>s;long long int ans=0;long long int cnt=0;while(k--) {//重复k遍for(int i=0;i<n;i++){//遍历字符串sif(s[i]=='a'){cnt++;//已经经过几个a }else if(s[i]=='b'){ans+=cnt;//遇见一个b,就可以与前面的a搭配,所以要加上前面所有a }}}cout<<ans; return 0;
}

2. 伦太郎的胡椒博士汽水

双指针算法:

一个指针标志起点,一个指针标志终点,序号从1到n

然后每次记录最大值,最小值,如果当前数字与当前的区间最大值差值大于k就break

 

 

双指针
   #include<bits/stdc++.h>
using namespace std;
const long long int N=1e5+6;
long long int v[N];
int main(){int n,k;cin>>n>>k;for(int i=1;i<=n;i++){cin>>v[i];}long long int ans=0;for(int i=1;i<=n;i++){long long int m=v[i];//最大值long long int s=v[i];//最小值for(int j=i+1;j<=n;j++) {if(v[j]-s>k||m-v[j]>k){break;} else{
//			cout<<"["<<i<<","<<j<<"],"<<"最小值:"<<s<<",最大值: "<<m<<endl;ans++;
//			cout<<"美味区间: "<<i<<"~"<<j<<",最小值"<<s<<",最大值"<<m<<endl;if(v[j]<s){s=v[j];}else if(v[j]>m){m=v[j];}}}}cout<<ans;return 0;
}

 

3.纪律问题

思路

    1.每个小朋友只能有一种爱好。并且这m种爱好可以用不完! 
    2.相邻的不能有同种爱好 -->所以合法的状态种数:m*(m-1)的(n-1)次方 
    3.所有可能数:m的n次方
    4.所以违法记录数量为m的n次方- m*(m-1)的(n-1)次方

算法:

快速幂

能求高次幂

快速幂代码:

 

 

快速幂
  ll qmi(ll a,ll b){//计算a的b次方%p
ll ans=1;
while(b) {//指数不为0if(b&1){//指数最后一位是1 就乘上aans=(ll)ans*a%p;}b=b>>1;//修改指数a=(ll)a*a%p;//修改底数
}
return ans;	
}

 

 

完整代码
   /*1.每个小朋友只能有一种爱好。并且这m种爱好可以用不完! 2.相邻的不能有同种爱好 -->所以合法的状态种数:m*(m-1)的(n-1)次方 3.所有可能数:m的n次方4.所以违法记录数量为m的n次方- m*(m-1)的(n-1)次方
*/ 
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
const ll p=1e5+3;
ll qmi(ll a,ll b){//计算a的b次方%p
ll ans=1;
while(b) {if(b&1){ans=(ll)ans*a%p;}b=b>>1;a=(ll)a*a%p;
}
return ans;	
}
int main(){ll m,n;cin>>m>>n;ll a=qmi(m,n);ll b=m*qmi(m-1,n-1)%p;ll c=(a-b+p)%p;//担心小于0(所以处理)cout<<c;return 0;
}

5.组合0

末尾0的个数:

统计2,5的因子个数有多少

因为2*5=10,有几个10因子就末尾有几个0

 

 

分类
#include<bits/stdc++.h>
using namespace std;
int a2,a5;//2的个数,5的个数 
int f2(int a){//计算2个数 
int cnt=0; while(a%2==0){cnt++;a/=2;	}return cnt;
}
int f5(int a){int cnt=0;while(a%5==0){cnt++;a/=5;}return cnt;
}
void cal(int n,int m){//Cnm
for(int i=n;i>m;i--){a2+=f2(i);a5+=f5(i);
}
for(int i=1;i<=n-m;i++){a2-=f2(i);a5-=f5(i);
}}
int main(){int t;int n,m;cin>>t;while(t--){cin>>n>>m;a2=0;a5=0;cal(n,m);cout<<min(a2,a5)<<endl;}return 0;
}

4. 蓝泽的秘密邮件

思路:

 

完整代码
 #include<bits/stdc++.h> 
using namespace std;
typedef long long int ll;
ll check(ll a[],ll n){ll t=0;for(ll i=0;i<n;i+=2){//记录所有偶数下标对应数值的总和t+=a[i];}ll max1=0;//第一种情况起点奇数下标当前最大总和ll max2=0;//第二种情况起点偶数下标当前最大总和ll mx=0;//最大变化量总和ll j;//起点为奇数下标,交换变化 。 ll o;//偶数为起点下标,交换变化 //都是向后翻 for(ll i=0;i<n-1;i++){//不能到最后一个点 (因为有a[i+1])if(i%2==0){//起点:偶数下标o=a[i+1]-a[i];j=0;	}else{//起点:奇数下标 j=a[i]-a[i+1];o=0; }max1=max(j,max1+j);//看是否需要连续,处理奇数起点。j不连续,max1+j连续max2=max(o,max2+o);//处理偶数起点mx=max(mx,max(max1,max2));//最大变化量,就是当前变化量以及奇数起点、偶数起点变化量总和最大值}return t+mx;
}
int main(){ll n;cin>>n;ll a[200006];for(ll i=0;i<n;i++){cin>>a[i];}cout<<check(a,n);return 0;
}

6. 大衣好累

考点:

最大匹配问题-->能最多匹配出几对相减非0的

就是统计出最大出现次数的相同数字maxx

所以为0的对数是:zero=maxx-m

空隙数是:kx=m-zero+1

最大匹配问题
 	int m;cin>>m;for(int i=0;i<2*m;i++){cin>>a[i];}sort(a,a+2*m);//从小到大排序 int cnt=0;//统计当前数字相同个数 int maxx=0;//最大个数相同数字 for(int i=0;i<2*m;i++) {if(a[i]==a[i-1]){cnt++;}else{cnt=1;//至少出现1次 }maxx=max(cnt,maxx);}int zero=maxx-m;//不匹配(即相减为0),zero指的是有几对搭配为0 int kx= m-zero+1;//空隙个数,减去搭配为0的对数 +1

 

完整代码
 #include<bits/stdc++.h>
using namespace std;
const int N=2e3+6;
int a[N];
void solve(){int m;cin>>m;for(int i=0;i<2*m;i++){cin>>a[i];}sort(a,a+2*m);//从小到大排序 int cnt=0;//统计当前数字相同个数 int maxx=0;//最大个数相同数字 for(int i=0;i<2*m;i++) {if(a[i]==a[i-1]){cnt++;}else{cnt=1;//至少1次 }maxx=max(cnt,maxx);}int zero=maxx-m;//不匹配(即相减为0),zero指的是有几对搭配为0 int kx= m-zero+1;//空隙个数,减去搭配为0的对数 +1//0要插入到空隙里:所以当0的个数小于等于 空隙数说明可以if(kx>=zero) {cout<<"YES"<<endl;}else{cout<<"NO"<<endl;}
}
int main(){int t;cin>>t;while(t--){solve();}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/870268.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在kubernates中安装安卓模拟器

1.检测环境 root@xx:~# apt install cpu-checker root@xx:~# kvm-ok INFO: /dev/kvm exists KVM acceleration can be used root@xx:~# ll /dev/kvm crw-rw---- 1 root kvm 10, 232 Jan 15 16:38 /dev/kvm确认/dev/kvm设备存在即可。如果是ESXi虚拟机服务器,则需要在虚拟机配置…

告别虚拟机!WSL2安装配置教程!!!

作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 由于Linux的系统的稳定以及在环境管理方面的优越性,同时Linux对于ROS系统的独占,很多时候我们都乐意在Linux系统下开发我们机器人的算法,但是由于Windows和Linux系统的存在内核方面的天壤之别,在我们手边…

windows安装Mosquitto(MQTT服务)

安装说明: https://www.cnblogs.com/xiaosongboke/p/18604458, https://blog.csdn.net/qq_44477552/article/details/143883087设置账号和密码.\mosquitto_passwd.exe -c .\pwfile.example admin注意:CMD以管理员方式运行。 修改配置文件mosquitto.confallow_anonymous fals…

ABC 337 G(主席树)

最近刚学完主席树,找了道题巩固一下,还是非常有收获的。 题目链接:problem 若只让求\(f(1)\),则还是比较简单的——用权值树状数组维护\(dfs\)路径上的数,每次查一下在 递归路径中\(>\)当前结点值 的结点数量,累加起来即为\(f(1)\)。 可是题目要求将\(f(1)到f(n)\)全部…

28. 事件处理

一、事件与事件处理 1.1、什么是事件事件是程序收到外界的输入,处于某种状态时自动发送的信号。事件有固定的类型,每种类型有自己的处理函数,用户只要重写这些函数,即可达到特定的目的。通过事件可以用一个控件监测另外一个控件,并可过滤被监测控件发出的事件。可视化应用…

2025上半年

孩子们,正睿补习计划重启了。 自建题单:ZR 2022 summer B - Virtual Judge P10447 最短 Hamilton 路径 - 洛谷 | 计算机科学教育新生态 求从 \(1\) 号点出发恰好经过每个点一次并且最终回到 \(1\) 号点的最短路径。 设 \(dp_{i,s}\) 表示恰好经过了集合 \(s\) 中的点一次,当…

Agent FFT

Agent FFT请你根据 https://www.cnblogs.com/CDOI-24374/p/17733240.html 这篇文章,仿照写一个好的,以下是一篇仿照《Azune FFT》风格的文章: Azune FFT:异界之战 可能是 Azune 童话系列。感谢 int_R 提供灵感与素材,让奇幻之光照亮一切! ——题记 「报告,INQ。已抵达 …

2025/1/16

今天继续学习了Android开发的相关知识,做手机端的app今天学的是用xml文件控制页面,类似javaweb里面的前端,有许多标签,还解决了运行卡退的一个小问题,需要定义一个主题。

CICD Day9、Argo CD增强持续交付

1、Argo CD简介在Jenkins CI/CD流程中的持续交付阶段,既部署到k8s集群阶段,使用kubectl工具来进行应用程序的部署和更新操作,但这种方式无法实时跟踪应用程序的状态。这将造成用户在CI/CD流程完成后需要额外操作kubernetes集群,以进一步查看应用程序的状态。为了解决这些问…

专为高性能计算和低功耗应用设计的MPF100T-1FCVG484E MPF100TL-FCSG325E MPF100TL-FCVG484I PolarFire FPGA产品系列

‌MPF100TL-FCG484E PolarFire FPGA是Microchip推出的一款高性能、低功耗的FPGA产品系列,特别适用于各种需要高性能计算和低功耗的应用场景‌。‌PolarFire FPGA是Microchip推出的一款高性能、低功耗的FPGA产品系列,特别适用于各种需要高性能计算和低功耗的应用场景‌。这些器…

wordpress 从服务器收到预料之外的响应。此文件可能已被成功上传。请检查媒体库或刷新本页。此响应不是合法的JSON响应。解决方法.210721

两种报错方式: 1.此响应不是合法的JSON响应。 2.从服务器收到预料之外的响应。此文件可能已被成功上传。请检查媒体库或刷新本页。 情况:媒体服务器上传小文件没问题,大一点的文件报这个错误。 原因:这是因为nginx限制了请求体大小 方案:需要在nginx的虚拟机配置文件中添加…

docker containner挂掉,无法exec进入bash,如何修改文件的终极解决方法.210730

场景: Nginx在bash里面配置的时候挂掉了,然后docker start不起来,exec bash进不去,造成无法再改里面的文件了 解决方法: 1,docker ps –a 可以查到所有docker,包括没有运行的,找到containner ID [root@hecs-29489 ~]# docker ps -a CONTAINER ID IMAGE COMMAND…