第四届辽宁省大学生程序设计竞赛

比赛经历:2024.5.14简单vp了一个小时只写出了签到题4个然后跑路了

补题:感觉其他题有点太抽象了主要补了一题,在区间问题中数据结构的使用

比赛链接[点我即可]

目录

A.欢迎来到辽宁省赛

B.胜率

F.隔板与水槽

H.取石子

L.区间与绝对值

M.让二追三


A.欢迎来到辽宁省赛

void solve(){cout << 27 << endl;return ;
}

没啥好说的直接输出即可

B.胜率

我们首先看一下是最后答案是四舍五入保留两位小数,可以判断出来答案一定是在10000局可以做到的,同时小数并不好判断我们直接把小数变成整数跑循环暴力找答案即可

// 数学公式要变形
// 莫急莫急先读题
#include <bits/stdc++.h>
using namespace std;
#define lowbit(x) (x&(-x))
#define endl "\n"
#define ios ios::sync_with_stdio(0); cin.tie(0),cout.tie(0);
#define LF(x)   fixed<<setprecision(x)// c++ 保留小数
#define den(a) cout << #a << " = " << a << "\n";
#define deg(a) cout << #a << " = " << a << " ";
typedef long long LL;
typedef pair<int, int> PII;
const int N=1000010,M=10010,INF=0x3f3f3f3f,mod=1e9+7;
const double pai=acos(-1.0);// pai
map<int,int> mp;
int t,n,m;
const double esp = 1e-3;
void solve(){int pos = M;double res; cin>>res;int t = res * 100;for(int i=0;i<M;i++){for(int j=1;j<M;j++){double now = 1.0*i/j*100;now += 0.005;int yes = now*100;if(yes==t){pos = min(pos,j);}}}cout << pos << endl;return ;
}
signed main ()
{ios// 不能有printf puts scanfint t=1;while(t--){solve();}
}

F.隔板与水槽

我们观察数据范围可以发现应该在n^2级别,同时左右是独立的,所以我们可以枚举中间位置去记录其左右最大值即可

LL a[N];
LL L[N],R[N];void solve(){cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=2;i<=n;i++){for(int j=1;j<i;j++){L[i]=max(L[i],min(a[i],a[j])*(i-j));}}for(int i=n-1;i>=1;i--){for(int j=n;j>i;j--){R[i]=max(R[i],min(a[i],a[j])*(j-i));}}LL ans = 0;for(int i=2;i<n;i++) ans = max(ans,L[i]+R[i]);cout << ans << endl;return ;
}

H.取石子

我们通过对式子分析可以得出,无论如何选择,两个人能取出的石头都是奇数个数,那么结果就之和给出的奇偶有关系了,简单做个判断即可

void solve(){int a,b,n; cin>>a>>b>>n;cout << (n&1? "Alice" : "Bob") << endl;return ;
}

L.区间与绝对值

对于区间问题我们如果有式子可以简单推理一下,由式子得到就是区间中的每一个数互相做减法的绝对值之和,我们看一下对于一个区间如何计算贡献,不妨这样想如果我把右端点加一个数如何计算新的区间贡献,可以发现新来的数带来的贡献为2*(a_{new} *cnt_{[l,r](a_i<a_{new})} - sum_{[l,r](ai<a_{new})}) 

int g[N],a[N];
LL tr[N][2],res[N],ans;
struct code{int l,r,id;bool operator<(const code&t)const{return g[l]==g[t.l] ?  r<t.r : l < t.l;}
}Q[N];
void add(int op,int k,int x){for(int i=k;i<N;i+=lowbit(i)) tr[i][op]+=x;
}
LL query(int op,int k){LL res = 0;for(int i=k;i;i-=lowbit(i)) res += tr[i][op];return res;
}
void add(int x){x = a[x];ans += query(0,x-1)*x - query(1,x-1);ans += (query(1,N-1)-query(1,x)) - (query(0,N-1)-query(0,x))*x;add(0,x,1);add(1,x,x);
}
void del(int x){x = a[x];ans -= query(0,x-1)*x - query(1,x-1);ans -= (query(1,N-1)-query(1,x)) - (query(0,N-1)-query(0,x))*x;add(0,x,-1);add(1,x,-x);
}
void solve(){cin>>n>>m;int block = sqrt(n);for(int i=1;i<=n;i++){cin>>a[i];g[i]=(i-1)/block+1;}for(int i=1;i<=m;i++){int l,r; cin>>l>>r;Q[i]={l,r,i};}sort(Q+1,Q+1+m);int L = 1 ,R = 0;for(int i=1;i<=m;i++){auto [l,r,id]=Q[i];while(L<l) del(L++);while(L>l) add(--L);while(R>r) del(R--);while(R<r) add(++R);res[id]=2*ans;}for(int i=1;i<=m;i++) cout << res[i] << endl;return ;
}

这样的话我们可以发现实际上维护的就是区间中小于这个数的数量,和小于这个数的和,可以知道树状数组就具有这个功能,但是对于多个区间如何操作,我们可以看到时间是4s,那么对于多个区间问题我们可以考虑使用莫队算法来优化本题

最后时间复杂度就是n\sqrt{n}*log(N)

M.让二追三

概率可以直接按照一次比赛打五次直接算出来,但是注意的是在n个比赛中,那么当n<5时是无解的,大于5的时候有n-4个符合题意的可以

LL qmi(LL a,LL b,LL p){LL res = 1;while(b){if(b&1) res=res*a%p;b>>=1;a=a*a%p;}return res;
}
LL inv(LL x){return qmi(x,mod-2,mod);
}
void solve(){int a,b,n; cin>>a>>b>>n;if(n<5){cout << 0 << endl;return ;}LL fm = qmi(b,5,mod);LL fz = qmi(b-a,2,mod)*qmi(a,3,mod)%mod;LL ans = fz%mod*inv(fm)%mod*(n-4)%mod; // 每次发生的概率是一样的// 就是cout << ans << endl;return ;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/12448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NMACDR:基于邻居交互增强和多头注意力机制的跨域推荐模型

基于邻居交互增强和多头注意力机制的跨域推荐模型 湖北民族大学学报-孙克雷、汪盈盈-2023 思路 针对基于映射的跨域推荐模型没有充分关注源域中数据稀疏的用户,导致用户偏好的迁移效率降低的问题,提出本文。 首先,利用邻居用户的交互来增强源域中数据稀疏用户的交互序列,…

RS422一主多从MAX3490

RS422一主多从MAX3490 最近项目用到了RS422一主多从&#xff0c;一个主机4个从机。芯片用的MAX3490&#xff0c;几经折腾&#xff0c;最终只能从一拖4改为一拖2。 主机发送端&#xff0c;从机4个接收端都是正常的&#xff0c;没有问题。波形非常完美&#xff0c;没有太大变形 …

回溯算法(Backtracking Algorithm)

回溯算法&#xff08;Backtracking Algorithm&#xff09;是一种试探性的解决问题方法&#xff0c;主要用于解决约束满足问题。这类问题通常存在多个可能的解&#xff0c;且解的空间可以被形式化地表示出来。回溯算法通过逐步构造候选解并检验其合法性的方式来探索解空间&#…

2024制造行业面临的数字挑战

1、市场环境变化频繁 受国际关系、疫情爆发等意外事件影响&#xff0c;需求端和供应端都充满了不确定性&#xff0c;数据信息的传递和透明就显得尤为重要。 2、产能原料浪费严重 过程管控和数据传递的缺失和不及时导致工厂生产现场异常频发&#xff0c;质量水平低下以及生产产…

uni-segmented-control插件使用

dcloud插件市场 前端/uniapp 1.HBuildX打开目标项目 2.进入dcloud插件市场下载目标插件 3.看到如下提示(已经可以在目标项目中使用插件啦) 4.项目正式使用

分享一些人生道理,希望能对大家有所帮助!

1. 别总想出风头&#xff0c;炫耀就是深渊&#xff0c;贪心就是毁灭&#xff0c;人性的恶一旦被激发&#xff0c;后果不堪设想。 2. 戒取怨之言&#xff1a;不要说招人怨恨的话&#xff0c;播下使人怨恨的种子。 3. 学会感恩&#xff0c;因为感恩能够让你更加幸福。 4. 玉碎不能…

自动驾驶占据感知的综述:信息融合视角

24年5月香港理工的论文“A Survey on Occupancy Perception for Autonomous Driving: The Information Fusion Perspective“。 3D 占据感知技术旨在观察和理解自动驾驶车辆的密集 3D 环境。该技术凭借其全面的感知能力&#xff0c;正在成为自动驾驶感知系统的发展趋势&#x…

JSPfilters过滤技术

1.创建动态web项目 2.创建filters的文件 3.创建主页面 4.配置xml项目 总结构 主页面代码 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%><!DOCTYPE html><html><head><meta cha…

linux系统配置之单一网卡配置多个不同网段IP(centos)

linux系统配置之单一网卡配置多个不同网段IP&#xff08;centos&#xff09; 1、用root权限的用户登录CENTOS&#xff0c;进入network-scripts文件夹下&#xff08;本步骤可以省略&#xff0c;与二步骤一起完成&#xff09;&#xff1a; shell命令&#xff1a;cd /ect/syscon…

力扣刷题--数组--第五天

昨天做了几道关于双指针求解的算法题&#xff0c;今天继续看相关的题目。 844. 比较含退格的字符串 给定 s 和 t 两个字符串&#xff0c;当它们分别被输入到空白的文本编辑器后&#xff0c;如果两者相等&#xff0c;返回 true 。# 代表退格字符。   注意&#xff1a;如果对空…

idea2023.3.2版本全局设置maven地址

idea每次新建项目都默认使用了一个user目录下的地址&#xff0c;而不是自己安装的maven地址&#xff0c;每次创建项目后&#xff0c;都要重新从settings中设置一下maven地址。 可以全局修改&#xff1a;首先在File-->Close Project回到idea最开始的界面 然后在Customize里点…

C++语法|深入理解 new 、delete

在开发过程中&#xff0c;非常重要的语法就有我们new和delete&#xff0c;周所周知在C中最为强大的能力就是对内存的控制&#xff0c;所以我们再怎么强调new和delete都不为过 文章目录 1.new和delete基本语法new和malloc的区别是什么&#xff1f;(1)开辟单个元素的内存差别(2)开…

火遍全网的“当当狸智能激光雕刻机L1” 让创意梦想分分钟实现

当当狸首款“桌面级”智能激光雕刻机来袭&#xff0c;千万别错过。 龙年伊始&#xff0c;当当狸就迎来了新品首发——智能激光雕刻机L1。 话不多说&#xff0c;赶快来看~~ 当当狸这款智能激光雕刻机造型美观&#xff0c;设计时尚&#xff0c;堪称激光雕刻机界的颜值天花板~~ …

类型的转换

首先我们要了解java中的数据类型转换是指将一种数据类型转换成另一种数据类型的过程。 什么时候会用到&#xff1f;我觉得两种情况会用到 等号左右两边类型不一致&#xff08;一般发生在赋值时&#xff09;不同类型的数据参与运算&#xff08;一般发生在计算时&#xff09; 转…

C函数总结

perror&#xff08;s&#xff09; 头文件&#xff1a;stdio.h功能&#xff1a;将函数发生错误的原因打印到标准设备&#xff08;stderr&#xff09;&#xff0c;参数s所指的字符串会先打印出&#xff0c;后面加上错误原因。 realloc 头文件&#xff1a;stdlib.h功能&#xf…

空降领导生存指南

1、有真本事&#xff0c;亲自解决棘手的问题。 2、善待部下 3、创造价值 4、找大老板帮忙站台&#xff0c;吃饭&#xff0c;开会 5、开始找两个行业深度知识开会&#xff0c;培训&#xff0c;比如EMC… 6、软着陆&#xff0c;观察业务了解人。刚到新单位不要马上定标准&#xf…

matlab使用1-基础

matlab使用1-基础 文章目录 matlab使用1-基础1. 界面介绍2. matlab变量3. matlab数据类型4. matlab矩阵操作5. matlab程序结构5.1 顺序结构5.2 循环结构5.3 分支结构 1. 界面介绍 命令行窗口输入&#xff1a;clc 可清除命令行窗口command window的内容 clc命令行窗口输入&…

独家揭秘:亲历清华大学答辩现场,惊喜万分 名校答辩不简单

会议之眼 快讯 五月&#xff0c;对于学术界来说&#xff0c;迎来了答辩的高潮&#xff01;是收获的季节&#xff01;今天&#xff0c;趁着阳光明媚&#xff0c;小编怀揣着对学术探索的无限热情和好奇心&#xff0c;决定亲自踏入中国顶尖学术殿堂——清华大学深圳国际研究生院&…

软件产品质量模型及其子特性

一、功能性 子特性&#xff1a; 功能的完备性 功能正确性 功能适合性 功能性的依从性 二、性能效率 子特性&#xff1a; 时间特性 资源利用性 容量 性能效率的依从性 三、兼容性 子特性&#xff1a; 共存性 互操作性 兼容性的依从性 四、易用性 子特性&#xff1a; 可辨识性…

洁太司检测试剂盒:肝癌早诊新利器,共筑健康未来

随着科技进步及医疗技术的不断创新&#xff0c;人类对疾病的早期诊断和治疗提出了更高的要求。 先思达生物近期推出的“洁太司-寡糖链检测试剂盒”&#xff0c;在原发性肝细胞癌的诊断领域实现了重大突破&#xff0c;获得了国家药品监督管理局&#xff08;NMPA&#xff09;的三…