Welcome To Ke_scholar's|

Ke_scholar

园龄:2年2个月粉丝:30关注:10

2023-08-18 01:17阅读: 10评论: 0推荐: 0

SMU Summer 2023 Contest Round 12

SMU Summer 2023 Contest Round 12

A. K-divisible Sum

分类讨论:

  • \(n > k\):
    • \(n\)能整除\(k\)就全是\(1\)
    • 不能整除,最多就是在全\(1\)的基础上再一部分\(1\)
  • \(n \leq k\)时:
    • \(k\)能整除\(n\)就全放\(\frac{k}{n}\)
    • 不能的话就在原基础上再加一部分\(1\)
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while (T--) {
int n, k;
cin >> n >> k;
if (n > k) {
if (n % k == 0)
cout << 1 << '\n';
else
cout << 2 << '\n';
} else {
if (k % n == 0)
cout << k / n << '\n';
else
cout << k / n + 1 << '\n';
}
}
return 0;
}

B. Inflation

按顺序去模拟即可,记得要向上取整

#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while (T--) {
int n, k;
cin >> n >> k;
vector<int> p(n);
int sum = 0;
for (auto &i : p) {
cin >> i;
}
int ans = 0;
for (int i = 1; i < n ; i ++) {
sum += p[i - 1];
if (p[i] * 100 <= k * sum) continue;
ans += (ceil(p[i] * 100.0 / k) - sum);
sum += (ceil(p[i] * 100.0 / k) - sum);
}
cout << ans << '\n';
}
return 0;
}

C. Longest Simple Cycle

\(dp[i]\)表示前\(i\)条链能组成环的最大点数

\(a[i] = b[i]\)时,第\(i\)个点就是单独一个点闭环,\(dp[i] = c[i] + 1\),否则,就应该判断是否用\(a[i]\)\(b[i]\)之间的点组成环,还是用两点之外的之前的链来组成环,当然还要包含后面的\(c[i]+1\)才能组成环

#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<double, double> PII;
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while (T--) {
int n;
cin >> n;
vector<int> c(n), a(n), b(n);
for (auto &i : c) cin >> i;
for (auto &i : a) cin >> i;
for (auto &i : b) cin >> i;
vector<int> dp(n);
int ans = 0;
for (int i = 1; i < n; i ++) {
if (a[i] == b[i]) dp[i] = c[i] + 1;
else dp[i] = max(abs(a[i] - b[i]), dp[i - 1] - abs(a[i] - b[i])) + c[i] + 1;
ans = max(ans, dp[i]);
}
cout << ans << '\n';
}
return 0;
}

本文作者:Ke_scholar

本文链接:https://www.cnblogs.com/Kescholar/p/17639304.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   Ke_scholar  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起