SMU Summer 2024 Contest Round 1(7.8)zhaosang
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;
}
SMU Summer 2024 Contest Round 1(7.8)zhaosang的更多相关文章
- Codeforces Round #581(Div. 2)
Codeforces Round #581(Div. 2) CF 1204 A. BowWow and the Timetable 题解:发现,$4$的幂次的二进制就是一个$1$后面跟偶数个$0$. ...
- Cow Contest POJ - 3660 (floyd 传递闭包)
N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we ...
- 【CodeForces - 1200C】Round Corridor (数论gcd)
Round Corridor Descriptions Amugae位于一个非常大的圆形走廊中.走廊由两个区域组成.内部区域等于nñ扇区,外部区域等于m米部门.在相同区域(内部或外部)的每对扇区之间 ...
- Educational Codeforces Round 29(6/7)
1.Quasi-palindrome 题意:问一个字符串(你可以添加前导‘0’或不添加)是否是回文串 思路:将给定的字符串的前缀‘0’和后缀‘0’都去掉,然后看其是否为回文串 #include< ...
- Codeforces Round #334(div.2)(新增不用二分代码) B
B. More Cowbell time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...
- Round Numbers (排列组合)
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 7558 Accepted: 2596 Description The c ...
- codeforces Round #389(Div.2)C Santa Claus and Robot(思维题)
题目链接:http://codeforces.com/contest/752/problem/C 题意:给出一系列机器人的行动方向(机器人会走任意一条最短路径),问最少标记几个点能让机器人按这个 路径 ...
- Codeforces Round #626 (Div. 2) B. Count Subrectangles
题目连接:https://codeforces.com/contest/1323/problem/B 题意:给一个大小为n的a数组,一个大小为m的b数组,c数组是二维数组c[i][j]=a[i]*b[ ...
- 2017-2018 ACM-ICPC German Collegiate Programming Contest (GCPC 2017)(9/11)
$$2017-2018\ ACM-ICPC\ German\ Collegiate\ Programming\ Contest (GCPC 2017)$$ \(A.Drawing\ Borders\) ...
- Codeforces Round #342 (Div 2) 解题报告
除夕夜之有生之年CF第一场 下午从奶奶家回到姥姥家,一看还有些时间,先吃点水果陪姥姥姥爷聊了会儿,再一看表,5:20....woc已经开场20分钟了...于是抓紧时间乱搞.. **A. Guest F ...
随机推荐
- Django - 在后台上传文章封面图 - 并在前端页面展示
需要用到 models.ImageField(), 它继承自 models.FileField(), 用ImageField的时候需要安装pillow pip install pillow -i h ...
- Scrapy框架(三)--全站数据爬取
scrapy基于Spider类的全站数据爬取 大部分的网站展示的数据都进行了分页操作,那么将所有页码对应的页面数据进行爬取就是爬虫中的全站数据爬取.基于scrapy如何进行全站数据爬取呢?1.将每一个 ...
- jsp和servlet的区别、共同点、各自应用的范围?
JSP是Servlet技术的扩展,本质上就是Servlet的简易方式.JSP编译后是"类servlet".Servlet和JSP最主要的不同点在于: Servlet的应用逻辑是在J ...
- Mysql int类型字段插入表达式,值为0或1
CREATE TABLE `t_user` ( `uId` INT(11) DEFAULT NULL, `uName` VARCHAR(20) DEFAULT NULL, `uPwd` VARCHAR ...
- WebUI自动化测试中关于图片验证码的解决方法
关于怎么识别图片中的文字,传送门:https://www.cnblogs.com/teangtang/p/16157880.html 实现代码如下: #! /usr/bin/env python # ...
- python logging日志没有写入到指定文件,写到其他项目的日志文件
背景: 项目A为主框架项目,使用到了项目B的方法 项目A.B均有封装好的日志方法,且均在封装好的日志文件里面,增加了logger = MyLogger().info,其他文件要使用日志时,引入logg ...
- 内网服务器通过单台外网服务器实现外网访问,iptables NAT
环境: servera: 外网服务器 serverb: 内网服务器 servera内网网关(GATEWAY)要设置为外网IP,其IP地址作为其它内网服务器的网关 servera 内网网卡配置 ...
- 【BUG记录】Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x90\xA6' for column 'name' at row 1
大家好呀,我是summo,这次的文章标题是一个Mysql数据库的SQL错误,遇到的同学自然懂,没遇到的同学希望你永远也不要遇到. 一.错误说明 Cause: java.sql.SQLException ...
- Netty(一)IO模型
1. Netty介绍 Netty 是由JBOSS提供的一个Jave开源框架,是一个异步地.基于事件驱动的网络应用框架,用以快速开发高性能.高可靠的网络IO程序. Netty主要针对在TCP协议下,面向 ...
- DotNetGuide专栏C#/.NET/.NET Core充电站(让你学习不迷路)
DotNetGuide简介 记录.收集和总结C#/.NET/.NET Core基础知识.学习路线.开发实战.编程技巧练习.学习视频.文章.书籍.项目框架.社区组织.开发必备工具.常见面试题.面试须知. ...