当前位置: 首页 > news >正文

2025 ICPC Gran Premio de Mexico 3ra Fecha

2025 ICPC Gran Premio de Mexico 3ra Fecha

  • A题
  • 二、K题
  • 三、B题
  • 四、J题
  • 五、G题

A题

签到

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e6+5;
ll n;
ll a[N];
int main() {ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);cin>>n;ll sum = 0;for(int i=0;i<n;i++) {cin>>a[i];sum+=a[i];}ll t = n;while (t >= 1) {if (sum % t == 0) {cout<<n - t <<'\n';return 0;}t--;}return 0;
}

二、K题

分类讨论

#include<bits/stdc++.h>
#define int long long
using namespace std;void solve() {int a,b,c,d;cin>>a>>b>>c>>d;if (d <= a) {cout<<"0\n";return;}if (d > a && d <= b) {int ans = d - max(a,c);cout<<ans<<"\n";return;}if (d > b) {if (c <= a) {cout<<b - a <<'\n'; return;}if (c > a && c <= b){cout << b - c <<'\n'; return;}if (c > b){cout << "0\n";return;}}
}
signed main() {ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);int T;cin>>T;while(T--) {solve();}return 0;
}

三、B题

贡献法
结论就是i * (n - i + 1) * a[i]是每个值的贡献。

#include<bits/stdc++.h>
const int N = 1e5;
#define int long long
using namespace std;
int a[N];
void solve() {int n;cin>>n;for(int i=1;i<=n;i++) {cin>>a[i];}int ans = 0;for(int i=1;i<=n;i++) {ans += i * (n - i + 1) * a[i];}cout<<ans<<'\n';
}
signed main() {ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);int T = 1;// cin>>T;while(T--) {solve();}return 0;
}

四、J题

线段树 + 尼姆博弈

#include <bits/stdc++.h>
using namespace std;const int MAX_N = 1e6 + 5;
long long a[MAX_N];
long long sum_xor[MAX_N << 2];
//建树
void build(int l, int r, int rt) {if (l == r) {sum_xor[rt] = a[l];return;}int mid = (l + r) >> 1;build(l, mid, rt << 1);build(mid + 1, r, rt << 1 | 1);sum_xor[rt] = sum_xor[rt << 1] ^ sum_xor[rt << 1 | 1];//up函数
}void update(int k, long long x, int l, int r, int rt) {if (l == r) {//注意:这里是叶子节点异或值等于本身,加上后仍然是其异或值sum_xor[rt] += x;return;}int mid = (l + r) >> 1;if (k <= mid) {update(k, x, l, mid, rt << 1);} else {update(k, x, mid + 1, r, rt << 1 | 1);}sum_xor[rt] = sum_xor[rt << 1] ^ sum_xor[rt << 1 | 1];//up函数
}
//范围查询
long long query(int L, int R, int l, int r, int rt) {if (L <= l && r <= R) {return sum_xor[rt];}int mid = (l + r) >> 1;long long res = 0;if (L <= mid) {res ^= query(L, R, l, mid, rt << 1);}if (R > mid) {res ^= query(L, R, mid + 1, r, rt << 1 | 1);}return res;
}int main() {ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n, q;scanf("%d%d", &n, &q);for (int i = 1; i <= n; ++i) {scanf("%lld", &a[i]);}build(1, n, 1);char op[2];while (q--) {scanf("%s", op);if (op[0] == 'P') {int l, r;scanf("%d%d", &l, &r);long long xor_sum = query(l, r, 1, n, 1);if (xor_sum == 0) {printf("JUAN\n");} else {printf("FRANK\n");}} else if (op[0] == 'R') {int k;long long x;scanf("%d%lld", &k, &x);update(k, x, 1, n, 1);}}return 0;
}

五、G题

经典精度问题,一定要想到要将除法转换为乘法,转换后因为数值较大,可以转为log,乘变加。

#include<bits/stdc++.h>
#define int long long
using namespace std;
typedef long double ld;
void solve() {int h1, h2, b;cin >> h1 >> h2 >> b;ld t = logl(ld (h1) / h2);ld r = logl(ld (b)) - logl(ld (b-1));ld ans = t / r;int res = int32_t(ceil(ans));cout << res << '\n';
}signed main() {ios_base::sync_with_stdio(false), cin.tie(NULL), cout.tie(NULL);int T;cin >> T;while (T--) {solve();}return 0;
}

文章转载自:

http://TlKsKf2T.yhywr.cn
http://ckWOtvAT.yhywr.cn
http://5MAafSPE.yhywr.cn
http://t8eamWWh.yhywr.cn
http://YFt4TFvK.yhywr.cn
http://IPqdkgBj.yhywr.cn
http://WeaPfUao.yhywr.cn
http://2SoQwWd1.yhywr.cn
http://t6JrvsEx.yhywr.cn
http://HaxIySH9.yhywr.cn
http://kOkiqnoJ.yhywr.cn
http://GDszTlDb.yhywr.cn
http://nKoMGfTe.yhywr.cn
http://HyON1iw8.yhywr.cn
http://TMH4iORl.yhywr.cn
http://P1FseTWE.yhywr.cn
http://CZooP9P2.yhywr.cn
http://jRSEW399.yhywr.cn
http://qsnRb5MP.yhywr.cn
http://Y7Wddc8I.yhywr.cn
http://wd7wd9nn.yhywr.cn
http://dPeP8VfN.yhywr.cn
http://g7EYvxwY.yhywr.cn
http://gptN3aOa.yhywr.cn
http://QNovDtWq.yhywr.cn
http://EkPcQjVF.yhywr.cn
http://NSJwKoOw.yhywr.cn
http://fG4hlCzr.yhywr.cn
http://xdBo5bva.yhywr.cn
http://Kjfp3u1K.yhywr.cn
http://www.dtcms.com/a/379159.html

相关文章:

  • ZLMediaKit性能测试
  • 使用PyQt5和NumPy从TXT文件读取平面点集数据
  • nacos1.3.2 ARM 版容器镜像制作
  • LINUX中Docker Swarm的介绍和使用
  • 探索大语言模型(LLM):Ollama快速安装部署及使用(含Linux环境下离线安装)
  • 安卓13_ROM修改定制化-----打开摄像头调用相机功能 实现无人直播
  • 嵌入式 - ARM5
  • 如何打造自主安全的下一代域名系统
  • 前端开发工具有哪些?常用前端开发工具、前端调试工具、前端构建工具与效率提升工具对比与最佳实践
  • 机器学习1.Anaconda安装+环境配置
  • GrapeCity Documents V8.0 Update2 重磅发布:性能飞跃、AI 赋能与文档处理全流程升级
  • 【软考架构-案例分析】质量属性场景描述6要素
  • IBMS智能化集成系统:构建建筑全场景协同管控中枢
  • 【高级】系统架构师 | 2025年上半年综合真题DAY4
  • 系统接口故障排查
  • MyBatis框架(编写代码部分1)
  • mes之工序管理
  • P4053 [JSOI2007] 建筑抢修
  • Unity Embedded Browser文档翻译
  • 阻容感专题学习笔记
  • ARM指令集(Instruction Set)细节
  • 28.线程互斥与同步(二)
  • 批量修改图片尺寸大小的免费工具
  • 【vscode】如何离线下载vsxi插件,且在无网环境下离线安装插件-2026最新实验教程
  • 基于浏览器运行的本地大模型语音助手
  • 动态热机械分析测试(DMA):解析材料的粘弹性能
  • 【龙智Atlassian插件】Confluence周报插件上线AI智能总结,一键生成专业报告
  • 因表并行引发的血案【故障处理案例】
  • 实现双向循环链表
  • Flutter Riverpod 3.0 发布,大规模重构下的全新状态管理框架