首页 > 其他分享 >『模拟赛』暑假集训CSP提高模拟14

『模拟赛』暑假集训CSP提高模拟14

时间:2024-08-06 16:43:59浏览次数:13  
标签:ch 14 ll qr Command 模拟 sum CSP lx

Rank

题目泰国尼添所以暴力挂一点分也能拿到 22/98

image

A. BA

签到题。

总记得小时候在 《冒险岛数学奇遇记》 的第 28 册左右看到过这道题,关键在于你可以分次烙完一张饼。

举例

2 口锅 5 张饼,5 4 4 3 3,最优策略的一种是先将 5 的那张饼烙 3 单位时间,然后烙一张 4 一张 3;另一口锅先烙一张 4 一张 3,最后烙剩下 5 的那张 2 单位时间。

所以,在面最多的那张饼的面数与其他相差不是很大的情况下,我们可以取到最优结果为 \(\lceil{\frac{总时长}{锅的数量}}\rceil\)。

关键在找如何定义这个相差不大。我们思考一下,可以知道分次烙饼的条件是在烙完最多面饼目标时间(平均值)之内,其他锅都能保证一直在工作,这样我们分次烙饼才有意义。设共 \(n\) 口锅,所有饼的总面数为 \(sum\),最多面数饼面数为 \(a_{max}\),这样表示出来符合要求的判断即为 \(a_{max}\times n\le sum\)。

点击查看代码

赛时思路没有如上那么清晰,走了点弯路,但正确性是有的。

#include<bits/stdc++.h>
#define fo(x,y,z) for(register int (x)=(y);(x)<=(z);(x)++)
#define fu(x,y,z) for(register int (x)=(y);(x)>=(z);(x)--)
using namespace std;
typedef long long ll;
#define lx int
inline lx qr()
{
	char ch=getchar();lx x=0,f=1;
	for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;
	for(;ch>='0'&&ch<='9';ch=getchar())x=(x<<3)+(x<<1)+(ch^48);
	return x*f;
}
#undef lx
#define qr qr()
const int Ratio=0;
const int N=1e6+5;
const int mod=10007;
int n,m;
ll a[N];
bool cmp(ll a,ll b){return a>b;}
namespace Wisadel
{
    short main()
    {
        n=qr,m=qr;ll sum=0;
        fo(i,1,n) a[i]=qr,sum+=a[i];
        sort(a+1,a+1+n,cmp);
        ll ans=a[1];
        if(a[1]*m<sum) ans+=(sum-a[1]*m+m-1)/m;
        printf("%lld\n",ans);
        return Ratio;
    }
}
int main(){return Wisadel::main();}

B. BB

原[THUPC 2023 初赛] 大富翁

赛时想到了很接近的思路,但看了题解发现虽然接近但怎么想也想不到。

题意很明确,一个简单的博弈论,找到每个点的贡献值,从大往小选。

证明就很玄学了,如下:

image

现在突然就理解了 gtm1514 学长,博弈论并没有什么能够一直套用的东西,每道题有自己的结论。

点击查看代码
#include<bits/stdc++.h>
#define fo(x,y,z) for(register int (x)=(y);(x)<=(z);(x)++)
#define fu(x,y,z) for(register int (x)=(y);(x)>=(z);(x)--)
using namespace std;
typedef long long ll;
#define lx int
inline lx qr()
{
	char ch=getchar();lx x=0,f=1;
	for(;ch<'0'||ch>'9';ch=getchar())if(ch=='-')f=-1;
	for(;ch>='0'&&ch<='9';ch=getchar())x=(x<<3)+(x<<1)+(ch^48);
	return x*f;
}
#undef lx
#define qr qr()
const int Ratio=0;
const int N=2e5+5;
const int mod=10007;
int n;
int hh[N<<1],to[N<<1],ne[N<<1],cnt;
int siz[N],dep[N],w[N];
namespace Wisadel
{
    void Wadd(int u,int v)
    {
        to[++cnt]=v;
        ne[cnt]=hh[u];
        hh[u]=cnt;
    }
    void Wdfs(int u,int fa)
    {
        dep[u]=dep[fa]+1;siz[u]=1;
        for(int i=hh[u];i!=-1;i=ne[i])
        {
            int v=to[i];
            if(v==fa) continue;
            Wdfs(v,u);
            siz[u]+=siz[v];
        }
    }
    short main()
    {
        memset(hh,-1,sizeof hh);
        n=qr;int a;ll ans=0;
        fo(i,1,n) w[i]=qr;
        fo(i,2,n) a=qr,Wadd(a,i),Wadd(i,a);
        Wdfs(1,0);
        fo(i,1,n) w[i]=siz[i]-dep[i]-w[i];
        sort(w+1,w+1+n);
        reverse(w+1,w+1+n);
        fo(i,1,n) if(i&1) ans+=w[i];
        printf("%lld\n",ans);
        return Ratio;
    }
}
int main(){return Wisadel::main();}

C. BC

D. BD

回来了啊,下半第一场模拟赛,虽然还是被不知姓名的外校人员虐的很惨,但起码稳住了暴力分。

用 Mac 用出习惯了怎么办啊,现在反而觉得 Windows 鸡肋了。

具体如下

Mac 中一些常用快捷键:

复制粘贴是 Command - C 与 Command - V;

End 是 Command - →;

截图是 Command - Shift - 4,录屏是 - 5;

VSCode 中除了 Ctrl - Z 终止程序以外所有 Ctrl 均替换成 Command。

Command 就是 win 键。

除了 Safari 有时候开多了页面会卡死要刷新,别的都挺不错的,尤其是可以下载 VSCode 插件

总之,回来了就塌下心来,别像上次和昨天某个宿舍一样坠机了。


完结撒花~
Objection!

image

标签:ch,14,ll,qr,Command,模拟,sum,CSP,lx
From: https://www.cnblogs.com/Ratio-Yinyue1007/p/18345150

相关文章

  • Mac开发基础14-NSTextView(二)
    进阶使用和技巧1.扩展查找和替换功能可以自定义查找和替换功能,包括高亮查找结果、批量替换等。查找并高亮Objective-C-(void)highlightOccurrencesOfString:(NSString*)searchString{//清除之前的高亮效果[textView.layoutManagerremoveTemporaryAttribute:N......
  • 基于两颗CH582芯片实现GPIO模拟SPI全双工通讯__从机通过GPIO中断读写数据
    简介:此程序是根据标准SPI协议规范使用模式0编写的一份模拟SPI全双工数据收发例程,经过测试,一个字节收发时长可压缩至最低115us左右,约9091字节每秒=73Kbps的通讯速率,注释中尽可能解释了每一步的含义,后续有想法应该会对其进行优化。注:笔者开发经验较少,在编程上或许复杂了一些。......
  • 14. a+aa+...=sum
    题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。代码:#include<stdio.h>#include<stdlib.h>voidtest(){intsum=0;inta;inttemp;intn;scanf("%d%d",&a,&......
  • 暑假集训CSP提高模拟14
    暑假集训CSP提高模拟14组题人:@H_Kaguya|@LYinMX\(T1\)P209.BA\(30pts\)部分分\(30pts\):输出\(\left\lceil\dfrac{\sum\limits_{i=1}^{m}a_{i}}{n}\right\rceil\)。数形结合,将\(\{a\}\)抽象成矩形,烙饼抽象成海报覆盖,最终有\(\max(\max\limits_{i=1}^{m}......
  • pytorch OSError: [WinError 1114] 动态链接库(DLL)初始化例程失败”原因分析
    动态链接库失败“OSError:[WinError1114]动态链接库(DLL)初始化例程失败。Errorloading"cublas64_12.dll"oroneofitsdependencies”原因分析出错情况:在importtorch中直接被抛出异常环境探讨【问题复现】:因为使用了新的torch-gpu环境【name称为torch】,固怀疑......
  • 1990-2023年上市公司常用变量数据(1400+指标)
    1990-2023年上市公司常用变量数据(1400+指标)1、时间:1990-2023年2、范围:上市公司3、格式:dta4、来源:上市公司年报5、指标:包括上市公司基本信息(性质、行业、地址)、财务状况(资产负债、利润表、现金流量、偿债能力、披露财务、比率结构、经营能力、盈利能力、现金流量、风险水平......
  • 【ceph】手动编译14.2.22 ceph版本---超详细版本,生产可用
      本站以分享各种运维经验和运维所需要的技能为主《python零基础入门》:python零基础入门学习《python运维脚本》: python运维脚本实践《shell》:shell学习《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战《k8》暂未更新《docker学习》暂未更新《ceph学......
  • 题解 P6873 [COCI2013-2014#6] FONT
    link题意给你\(N\)个单词,问最多能组成多少个包含所有小写英文字母的句子。\(\mathrm{Solution}\)\(N\le25\)显然搜索。枚举当前选还是不选,搜到头判断是否成功即可。\(\mathrm{Code}\)#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;consti......
  • 模拟实现 memcpy --浅谈C语言
    内存拷贝-memcpy描述C库函数void*memcpy(void*str1,constvoid*str2,size_tn)从存储区str2复制n个字节到存储区str1。memcpy是最快的内存到内存复制子程序。它通常比必须扫描其所复制数据的strcpy,或必须预防以处理重叠输入的memmove更高效。memcpy,memcpy......
  • 2024上岸|314数农备考攻略
    前言......