2017中国大学生程序设计竞赛 - 女生专场(SDKD 2024 Summer Training Contest K2)

news/2024/10/4 22:34:09


A - Automatic Judge

题意

\(n\)个问题,\(m\)条记录,每条记录有题号、时间、状态,第一次\(AC\)的时候计入罚时,其他没发罚\(20\)分钟。求队伍过题数和罚时。

思路

模拟。

代码

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long longvoid solve()
{int n, m;cin >> n >> m;map<string, int> mp;int cnt = 0, ans = 0;for (int i = 0; i < m; i++){string r, s, t;cin >> r >> s >> t;if (mp[r] == -1){continue;}if (t == "AC"){cnt++;ans += mp[r] * 20 + (s[1] - '0') * 60 + (s[3] - '0') * 10 + s[4] - '0';mp[r] = -1;}else{mp[r]++;}}cout << cnt << ' ' << ans << endl;
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int T = 1;cin >> T;while (T--){solve();}return 0;
}

B - Building Shops

题意

\(n\)个教室,在教室中建超市,在第\(i\)个教室建花费\(c_i\),没建的教室花费为其坐标与其左边最近超市坐标之差。求最少花费。

思路

\(n\)很小,一眼\(dp\)

代码

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long longconst int mxn = 3e3 + 5;struct node
{int x, c;bool operator < (const node& a) const{return x < a.x;}
};int dp[mxn][mxn]; // dp[i][j]表示在[1,i]的教室中最后一个建超市的地方是第j个教室的最小花费void solve()
{int n;while (cin >> n){vector<node> v(n + 1);for (int i = 1; i <= n; i++){cin >> v[i].x >> v[i].c;}sort(v.begin() + 1, v.end());for (int i = 1; i <= n; i++){for (int j = 1; j <= n; j++){dp[i][j] = 1e18;}}dp[1][1] = v[1].c;for (int i = 2; i <= n; i++){for (int j = 1; j <= i; j++){dp[i][j] = min(dp[i][j], dp[i - 1][j] + v[i].x - v[j].x); // 不建 dp[i][i] = min(dp[i][i], dp[i - 1][j] + v[i].c); // 在i建}}int ans = LLONG_MAX;for (int i = 1; i <= n; i++){ans = min(ans, dp[n][i]);}cout << ans << endl;}
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int T = 1;//cin >> T;while (T--){solve();}return 0;
}

C - Coprime Sequence

题意

给定长度为\(n\)的互质序列(所有数的GCD是\(1\)),删一个数使得剩下数的GCD最大。求删数后的最大GCD。

思路

假设答案是\(x\),那\(x\)必须要整除\(n-1\)个数,即有\(n-1\)个数都\(\ge x\),那\(x\)最大就是排序后的第二个数(不一定是第二小),让后往下找到\(1\)即可。

代码

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long longvoid solve()
{int n;cin >> n;vector<int> v(n);for (int i = 0; i < n; i++){cin >> v[i];}sort(v.begin(), v.end());for (int i = v[1]; i >= 1; i--){int sum = 0;for (int j = 0; j < n; j++){if (v[j] % i == 0){sum++;}if (sum >= n - 1){cout << i << endl;return;}}}
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int T = 1;cin >> T;while (T--){solve();}return 0;
}

D - Deleting Edges

题意

思路

代码

点击查看代码


E - Easy Summation

题意

给定\(n\)\(k\),以及函数\(f(i) = i^k\)。求\(\sum_{i=1}^n f(i)\)

思路

快速幂,模拟。

代码

点击查看代码
#include<bits/stdc++.h>
using namespace std;
#define int long longconst int mod = 1e9 + 7;int qp(int base, int x)
{int res = 1;while (x){if (x & 1){res *= base;res %= mod;}x >>= 1;base *= base;base %= mod;}return res;
}void solve()
{int n, k;cin >> n >> k;int ans = 0;for (int i = 1; i <= n; i++){ans += qp(i, k);ans %= mod;}cout << ans << endl;
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int T = 1;cin >> T;while (T--){solve();}return 0;
}

G - Graph Theory

题意

思路

代码

点击查看代码


H - Happy Necklace

题意

思路

代码

点击查看代码


I - Innumerable Ancestors

题意

思路

代码

点击查看代码



比赛链接 <>

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

30. 协程

1.协程的概念 1.1 定义 进程是操作系统内部运行的程序 线程是进程内部运行的程序 协程是线程内部运行的程序 协程是单线程下的并发,又成微线程,英文名coroutine 1.2 协程的优点协程切换的开销更小 GIL锁导致同一时刻只能运行一个线程,一个线程内不会限制协程数,单线程就可以…

.net core 安装服务

https://www.jianshu.com/p/e1b3b61f876a使用NSSM 后面的代码演示以Asp.net Core 2.1作为演示,其他.Net Core方式一致。 1、确保.Net Core程序可以正常运行 先把Asp.net Core发布,然后直接运行dotnet命令,确保程序可以运行并访问 2、使用NSSM安装dotnet 下载NSSM,使用命…

vs2015安装包丢失或损坏解决工具 或者不能启动

打开“本地组策略编辑器”(gpedit.msc)。展开“计算机配置”>“管理模板”>“系统”>“Internet 通信管理”,然后选择“Internet 通信设置”。选择“关闭自动根证书更新”>,“禁用”,然后选择“确定”或“应用”。  下载最新的组件版本(备份的) https://lea…

uboot 启动自编写程序的方式

uboot 启动自编写程序的方式 uboot 存在 boot 命令。 自己最初在尝试撰写串口程序时,选择了使用汇编来完成。 在这段时间,自己使用 go 命令来尝试载入程序 先是在 Ubuntu 上搭建 tftp 目录 # /etc/default/tftpd-hpaTFTP_USERNAME="tftp" TFTP_DIRECTORY="/ho…

20240924

[牛半仙的妹子 Tree(tree)](http://ac.robo-maker.cn/d/contest/p/ZY1044?tid=66f28cd11bca2159e88c8fb0) 我们会发现其实牛半仙发癫时就等于将以前的标记清空,从头开始,所以我们可以考虑根号分治,如果两个牛半仙发癫的时间间隔小于 \(\sqrt n\) ,那么我们可以直接暴力枚举两…

『模拟赛』冲刺CSP联训模拟2

『模拟赛记录』冲刺CSP联训模拟2Rank 不重要了A. 挤压 你说的对,期望怎么能算签呢? 一个重要的性质:一个数的平方可以在二进制下表示为 \(\sum_{i,j}\ s_i\ s_j\ 2^{i+j}\),所以就可以分别求每一位对答案的贡献了。 设 \(f_{i,1/0,1/0}\) 表示到第 \(i\) 个数我们枚举的两位…

PbootCms上传图片变模糊、上传图片尺寸受限的解决方案

在使用PbootCMS的过程中,如果上传的图片被压缩变得模糊,通常是因为上传的图片尺寸过大。PbootCMS 默认的上传图片限制宽度为 1920 像素,缩略图的限制大小为 10001000 像素。可以通过调整这些参数来解决这个问题。 解决方案打开 config.php 文件 调整 max_width 和 max_heigh…

ROS基础入门——实操教程

ROS新人可看ROS基础入门——实操教程前言 本教程实操为主,少说书。可供参考的文档中详细的记录了ROS的实操和理论,只是过于详细繁杂了,看得脑壳疼,于是做了这个笔记。Ruby Rose,放在这里相当合理前言:本文初编辑于2024年10月24日 CSDN主页:https://blog.csdn.net/rvdgds…