ACM题解Day2|1.台风, 2.式神考试,3.DNA,4.方程求解
学习目标:
博主介绍: 27dCnc
专题 : 数据结构帮助小白快速入门
👍👍👍👍👍👍👍👍👍👍👍👍
☆*: .。. o(≧▽≦)o .。.:*☆
Github今日打卡
- ACM题解
学习内容:
1.台风
题目
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int a[100];
int count=0;//41
int all=0;//63
int s=0;
int e=0;
for(int i=1;i<=8;i++){
cin>>a[i];
if(a[i]>=118){
s++;
}
if(a[i]>=63){
all++;
}
if(a[i]>=41){
count++;
}
}
if(s>0){
cout<<10;
}else if(all>=4){
cout<<8;
}else if(count>=4){
cout<<3;
}else{
cout<<1;
}
}
思路: 概率情况从小到大,这个样子一些情况就会被覆盖
2.式神考试
题目
代码
思路分析:
根据题目的意思,我们不难求出以下两个数值:
- 得到了满分的题一共有 n−m 道;
- 得到了满分的题目,加起来一共有 1e7 x (n - m) / n 分
但是知道了得到了满分的题目一共有多少分,如何用其,以及非满分的题目的个数去计算出结果呢?这一关键在于“循环枚举”的思想,即利用计算机较高的运行速度,使用循环结构去计算出最后的答案。
那对于这一道题目我们如何利用到这个思想求解呢?我们可以枚举有多少题目获得了一半分。假设是有 i 道题目获得了一半的分数,则有:
获得了一半的分数的题目,加起来一共有 1/2×1e7/n×*i*
图解 :
核心代码
3.DNA
题目
代码
#include <iostream>
#include<string>
#include<algorithm>
using namespace std;
void QAQ(){
int m;
int count=0;
int q=0;
cin>>m;
string s;
cin>>s;
string s1=s;
reverse(s.begin(),s.end());
// cout<<s<<"\n";
// cout<<s1<<"\n";
for(int i=0;i<m;i++){
if(s[i]=='A'&&s1[i]=='T'){
q+=(i+1);
count++;
}
if(s[i]=='C'&&s1[i]=='G'){
q+=(i+1);
count++;
}
if(s[i]=='T'&&s1[i]=='A'){
q+=(i+1);
count++;
}
if(s[i]=='G'&&s1[i]=='C'){
q+=(i+1);
count++;
}
}
if(count){
cout<<q<<"\n";
}
else{
cout<<0<<"\n";
}
}
int main(){
int n;
cin>>n;
while(n--) QAQ();
}
思路:
统计计数 对DNA统计因为DNA是对称的所以(i+1)因为出现一次说明有两次非被检测到匹配字符串通过统计来计数
4.方程求解
题目
思路 :
- 通过
unique()
来将重复的元素移动到后面- 然后通过
lower_bound()
来确定左边的范围- 然后通过
lupper_bound()
来确定右边的范围
代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll x[600000];
int main(){
ll n,Q;
cin>>n>>Q;
for(int i=1;i<=n;i++){
int a,b,c;
scanf("%dx%d=%d",&a,&b,&c);
x[i]=(c-b)/a;
}
sort(x+1,x+n+1);
ll nx=unique(x+1,x+n+1)-x-1;
while(Q--){
ll L,R;
cin>>L>>R;
ll L1=lower_bound(x+1,x+nx+1,L)-x-1;
ll R1= upper_bound(x+1,x+nx+1,R)-x-1;
cout<<R1-L1<<"\n";
}
return 0;
}
学习时间:
- 周一至周五晚上 7 点—晚上9点
- 周六上午 9 点-上午 11 点
- 周日下午 3 点-下午 6 点
学习产出:
- 技术笔记 2 遍
- CSDN 技术博客 3 篇
- 习的 vlog 视频 1 个
🔥如果此文对你有帮助的话,欢迎💗关注、👍点赞、⭐收藏、✍️评论,支持一下博主~
本文作者:2c237c6
本文链接:https://www.cnblogs.com/27dCnc/p/18568657
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步