首页 > 其他分享 >7.8训练

7.8训练

时间:2024-07-14 17:07:50浏览次数:7  
标签:训练 int ll cin long ans using 7.8

A-A
http://162.14.124.219/contest/1005/problem/A
一道数学问题,求概率。
要求成功的概率,有两个色子, 一个用来抛正反面,一个用来控制得分大小,当超过某个得分值,答案正确。
模拟一下,如果考虑失败的情况太多,我们只需要考虑正确的情况,贪心就是每次都是正面,得分翻倍,直到大于等于k值

#include<bits/stdc++.h>
using namespace std;

using ll =long long;
set<ll>st;
ll ma[100001];
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	ll n,k;
	double ans=0.0;
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		ll res=i;
		double cnt=1.000000000000/n;
		while(res<k){
			cnt*=0.5000000;
			res*=2;
		}
		ans+=cnt;
	}
	cout<<setprecision(12)<<ans;
}
C-C

http://162.14.124.219/contest/1005/problem/C
这道题就是让你从上往下涂颜色,要求颜色数量尽可能小,如果出现相同颜色要求后面的值大于前面。
思考一下,颜色数量少,那我们尽可能只用几种颜色,如果后面的值大于前面的,那么后面可以覆盖前面的颜色,
然后把颜色的最小值更新,如果后面的值大于等于已经使用的颜色的最大值,这个时候创建一个新的颜色,以此类推。

代码如下:

#include<bits/stdc++.h>
using namespace std;

using ll =long long;
set<ll>st;
ll ma[100001];
int main(){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	ll n,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++){
		ll a;
		int pd=0;
		cin>>a;
		if(i==1){
			ans++;
			ma[1]=a;
		}else{
			
		for(int j=1;j<=ans;j++){
			if(a>ma[j]){
				ma[j]=a;
				pd=1;
				break;
			}
		}
		if(pd==0){
			ans++;
			ma[ans]=a;
		}
		}
	}
	cout<<ans;
}

F-F
http://162.14.124.219/contest/1005/problem/F
这道题做了挺久,一开始没想明白,只能两个循环然后剪枝,后面想法出来后是贪心。

答案最大,那么让尽可能大的数加到原数组,使用我们只需要从大到小把数加到原数组从小到大排序
,这样最大的值依次替换成最小的值,如果没有替换的数没有比原数组大,说明此时已经是最大值

#include <bits/stdc++.h>
using namespace std;

using ll =long long;

struct Node{
	ll x,y;
}q[1000010];
ll v[1000010];
ll n,m;
bool cmp(Node a,Node b){
	return a.y>b.y;
}
int main(){
	
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>v[i];
	sort(v+1,v+n+1);
	for(int i=1;i<=m;i++)cin>>q[i].x>>q[i].y;
	sort(q+1,q+1+m,cmp);
	int j=1;
	for(int i=1;i<=n;i++){
		if(q[j].x==0)j++;
		if(v[i]<q[j].y&&q[j].x>0)v[i]=q[j].y,q[j].x--;
		else if(v[i]>q[j].y)break;
		
	}
	ll sum=0;
	for(int i=1;i<=n;i++)sum+=v[i];
	cout<<sum;
	
	
}
B-B(——补题)

https://atcoder.jp/contests/abc128/tasks/abc128_d
后面我补题的时候也没有思路,看学长的代码可能是我比较笨,不知道为什么这样可以取到最大。
我去看了很多题解发现也看不懂,我就知道太弱了,后面找了一篇很若只的教学看懂了,分享一下。
就是枚举然后每次都停下来检查自己,每左边加一个或者右边加一个就停下来,如果加有负数就记录一下,
然后检查自己,如果还有操作次数,那么可以减掉有的负数,然后继续左边右边加。取答案最大值即可

代码如下:

/*////////ACACACACACACAC///////////
  . Code by Ntsc .
  . WHY NOT????? .
  /*////////ACACACACACACAC///////////

#include<bits/stdc++.h>
#define ll long long
#define db double
#define rtn return
using namespace std;

const int N=1e5;
const int M=1e5;
const int Mod=1e5;
const int INF=1e5;

ll n,m,ans,sum,k;
ll t[N],v[N];


signed main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>v[i];
	}
	for(int ia=0;ia<=n&&ia<=k;ia++){//枚举A
		for(int ib=0;ib+ia<=n&&ib+ia<=k;ib++){//枚举B
			int cnt=0;sum=0;
			for(int i=1;i<=ia;i++)t[++cnt]=v[i],sum+=v[i];
			for(int i=1;i<=ib;i++)t[++cnt]=v[n-i+1],sum+=v[n-i+1];
			sort(t+1,t+cnt+1);
			int c=k-ia-ib;//计算C
			for(int i=1;i<=c&&i<=cnt;i++){
				if(t[i]>0)break;//一直丢到没有负数或者操作数达到k或者t中没有剩余元素
				sum-=t[i];//从t中挑选出负数,丢掉
			}
			ans=max(ans,sum);
		}
	}
	cout<<ans<<endl;
	return 0;
}

标签:训练,int,ll,cin,long,ans,using,7.8
From: https://www.cnblogs.com/dontian/p/18301744

相关文章

  • 从头构建和训练 GPT-2 |实战
    引言该项目将引导您完成构建简单GPT-2模型的所有步骤,并使用TaylorSwift和EdSheeran的一堆歌曲进行训练。本文的数据集和源代码将在Github上提供。构建GPT-2架构我们将逐步推进这个项目,不断优化一个基础的模型框架,并在其基础上增加新的层次,这些层次都是基于GPT-2......
  • 代码随想录算法训练营第10天|232. 用栈实现队列,225. 用队列实现栈,20. 有效的括号,1047.
    学习任务:Leetcode232.用栈实现队列Leetcode225.用队列实现栈Leetcode20.有效的括号Leetcode1047.删除字符串中的所有相邻重复项Leetcode232.用栈实现队列难度:简单|相关标签:栈、设计、队列题目:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支......
  • 小学期第二周总结(7.8-7.15)
    7.8周一小学期就没有周末这么一说了,所以周一跟周五在我看来没什么区别今天起晚了七点才起,看到表我一个鲤鱼打挺穿上衣服就走了饭都没吃好在时间是赶上了,我发现六年级真好教,上课我准备的那些没一会就讲完了,我让学生用我手机上的不背单词背单词,毕竟没有课本,又让他看了ted演讲,对英......
  • Llama2大语言模型在云GPU(AutoDL)上进行训练微调(自定义数据集)
    Llama2是Meta开源的语言大模型,它经过训练的数据集包含2万亿个token。相比Llama,Llama2的上下文长度已经从2048扩展到4096,这使其能够理解和生成更长的文本。Llama2包括了多个模型,分别是7B、13B和70B的模型。一、准备工作在autodl平台租用实例(直接搜索,有许多租用教程,建议租......
  • 7/13 训练笔记
    闲话回滚莫队板题被卡到28pts了歴史の研究回滚莫队题。莫队笔记考虑很好加(维护cnt并更新答案即可),但是不好删。那么回滚莫队代码:#include<bits/stdc++.h>#defineintlonglong#definerep(i,l,r)for(inti=l;i<=r;i++)#defineper(i,l,r)for(inti=......
  • 「代码随想录算法训练营」第十天 | 栈与队列 part2
    150.逆波兰表达式求值题目链接:https://leetcode.cn/problems/evaluate-reverse-polish-notation/题目难度:中等文章讲解:https://programmercarl.com/0150.逆波兰表达式求值.html视频讲解:https://www.bilibili.com/video/BV1kd4y1o7on题目状态:多次修改bug后通过个人思路:......
  • 代码随想录算法训练营第八天| leetcode 344、541、卡码网54
    反转字符串 leetcode344classSolution{public:voidreverseString(vector<char>&s){intindex1=0,index2=s.size()-1;chartmp;while(index1<index2){tmp=s[index1];s[index1]=s[index2];......
  • 科研训练课程1--LetPub与Web of Science(查询工具)
    科研训练课程1–LetPub与WebofScience(查询工具)文章目录前言课程任务(可跳过)了解1.LetPub2.WebofScience总结前言本系列笔记为记录大二暑期学校课程——科研训练与写作,记录一下每天了解了什么吧(苦逼又无聊的学习生涯又开始了。才刚结束啊)在’亲爱‘的大......
  • 玩一玩yolov5 自己训练模型识别马克杯
    python虚拟环境搭建condacreate-nyolopython==3.8yolov5下载gitclonehttps://github.com/ultralytics/yolov5cdyolov5activateyolopipinstall-rrequirements.txt准备数据集官方介绍:https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data建立文件......
  • 7/12 训练笔记
    闲话打OIBingo然后大力卡时卡空间,贺了最优解之后成功Bingo.rep(i,0,(int)v.size()-1)v.push_back(1);在vectorv本来就有内容的情况下会持续循环。rep(i,1,n)rep(i,1,n)cin>>a[i];似乎会出问题。P4137RmqProblem/mex回滚莫队题,莫队笔记。考虑mex......