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的更多相关文章

  1. Codeforces Round #581(Div. 2)

    Codeforces Round #581(Div. 2) CF 1204 A. BowWow and the Timetable 题解:发现,$4$的幂次的二进制就是一个$1$后面跟偶数个$0$. ...

  2. Cow Contest POJ - 3660 (floyd 传递闭包)

    N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we ...

  3. 【CodeForces - 1200C】Round Corridor (数论gcd)

    Round Corridor  Descriptions Amugae位于一个非常大的圆形走廊中.走廊由两个区域组成.内部区域等于nñ扇区,外部区域等于m米部门.在相同区域(内部或外部)的每对扇区之间 ...

  4. Educational Codeforces Round 29(6/7)

    1.Quasi-palindrome 题意:问一个字符串(你可以添加前导‘0’或不添加)是否是回文串 思路:将给定的字符串的前缀‘0’和后缀‘0’都去掉,然后看其是否为回文串 #include< ...

  5. Codeforces Round #334(div.2)(新增不用二分代码) B

    B. More Cowbell time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  6. Round Numbers (排列组合)

    Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 7558   Accepted: 2596 Description The c ...

  7. codeforces Round #389(Div.2)C Santa Claus and Robot(思维题)

    题目链接:http://codeforces.com/contest/752/problem/C 题意:给出一系列机器人的行动方向(机器人会走任意一条最短路径),问最少标记几个点能让机器人按这个 路径 ...

  8. 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[ ...

  9. 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\) ...

  10. Codeforces Round #342 (Div 2) 解题报告

    除夕夜之有生之年CF第一场 下午从奶奶家回到姥姥家,一看还有些时间,先吃点水果陪姥姥姥爷聊了会儿,再一看表,5:20....woc已经开场20分钟了...于是抓紧时间乱搞.. **A. Guest F ...

随机推荐

  1. 重温 ShardingSphere 分布策略

    ShardingSphere--分片及策略:https://blog.csdn.net/weixin_38910645/article/details/107538848 Sharding-JDBC: ...

  2. .net c# 文件分片/断点续传之下载--客户端

    断点续传客户端实现主要参考了以下文章: https://blog.csdn.net/binyao02123202/article/details/76599949 客户端实现续传的主要是一下几点 1. ...

  3. 神经网络常见参数解释:epoch、batch、batch size、step、iteration

      本文介绍在机器学习.深度学习的神经网络模型中,epoch.batch.batch size.step与iteration等名词的具体含义.   epoch:表示将训练数据集中的所有样本都过一遍(且 ...

  4. 几个公司wiki知识库调研和感悟

    @ 目录 需求背景 具体实现 经验&吐槽 小结 需求背景 公司准备做一个知识库,我这边调研了几个项目,如下 第一个是我们耳熟能详的confluence,但是好想要收费,先搁置 第二个是mind ...

  5. 通过钩子函数+Traceid实现Flask链路追踪

    背景 在flask web中我们通常需要一个traceid作为调用参数传递给全链路各个调用函数 需要针对一次请求创建一个唯一的traceid:这里用uuid去简化代替 我们需要保证traceid不被污 ...

  6. jq 下载带上token设置form表单并且兼容ie8

    先在publice公共资源里面或者自己随便写一个函数自己记得调用就行 先加载form表单组件 /** * 添加form下载组件 * @param {*} wrp */ appendFormDownlo ...

  7. LeetCode 460. LFU Cache LFU缓存 (C++/Java)

    题目: Design and implement a data structure for Least Frequently Used (LFU)cache. It should support th ...

  8. SpringBoot系列(二) 环境搭建,创建我的第一个程序HelloWord。

    环境准备: jdk1.8:java version "1.8.0_231",详见链接 maven3.x:maven3.3以上版本,详见链接 IDEA2021:IntelliJ ID ...

  9. CentOS 7- 配置阿里镜像源

    1.备份CentOS 7系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo命令: mv /etc/yum.repos.d/CentOS-Base.repo /e ...

  10. ColorEasyDuino上手指南

    介绍 ColorEasyDuino是嘉立创推出的一块Aduino开发板(类似物),具有丰富的外设接口:uart.i2c.spi.adc.pwm等:开发板设计参考原型是Arduino Uno,采用的芯片 ...