CodeForces Round #544 Div.3
2024-08-20 11:19:48
A. Middle of the Contest
代码:
#include <bits/stdc++.h>
using namespace std; int h1, m1, h2, m2;
int tim1 = , tim2 = ; int main() {
scanf("%d:%d", &h1, &m1);
scanf("%d:%d", &h2, &m2); tim1 = h1 * + m1;
tim2 = h2 * + m2; tim2 -= tim1;
tim2 /= ;
tim1 += tim2; int h3 = tim1 / , m3 = tim1 % ;
printf("%02d:%02d\n", h3, m3); return ;
}
B. Preparation for International Women's Day
代码:
#include <bits/stdc++.h>
using namespace std; const int maxn = 2e5 + ;
int N, K;
int a[maxn], vis[]; int main() {
scanf("%d%d", &N, &K);
int ans = , cnt = ;
for(int i = ; i <= N; i ++) {
int x;
scanf("%d", &x);
if(x % K == ) ans ++;
else vis[x % K] ++;
} ans /= ; for(int i = ; i <= K / ; i ++) {
if(i * != K) ans += min(vis[i], vis[K - i]);
else ans += (vis[i] / );
} printf("%d\n", ans * );
return ;
}
C. Balanced Team
代码:
#include <bits/stdc++.h>
using namespace std; const int maxn = 2e5 + ;
int N;
int a[maxn]; int main() {
scanf("%d", &N);
for(int i = ; i < N; i ++)
scanf("%d", &a[i]); sort(a, a + N); int maxx = ;
int l = , r = ;
while(l <= r && r < N && l < N) {
while(a[r] - a[l] <= && r < N) r ++;
maxx = max(maxx, r - l);
l ++;
} printf("%d\n", maxx); return ;
}
D. Zero Quantity Maximization
不敢相信现在会因为数组开小 wa 了四发 2e5 被我开成 1e5 我都不知道我这四次在改什么 是猪吧
代码:
#include <bits/stdc++.h>
using namespace std; const int maxn = 2e5 + ;
int N;
int a[maxn], b[maxn];
map<pair<int, int> , int> mp; int gcd(int a, int b) {
return b == ? a : gcd(b, a % b);
} int main() {
scanf("%d", &N);
for(int i = ; i < N; i ++)
scanf("%d", &a[i]); int cnt = , maxx = ;
mp.clear();
for(int i = ; i < N; i ++) {
scanf("%d", &b[i]);
if(a[i] == ) {
if(b[i] == ) cnt ++;
continue;
}
int t = gcd(a[i], b[i]);
pair<int, int> p;
p.first = a[i] / t, p.second = b[i] / t;
if(p.first < ) p.first *= -, p.second *= -;
mp[p] ++;
maxx = max(maxx, mp[p]);
} printf("%d\n", maxx + cnt); return ;
}
E. K Balanced Teams
代码:
#include <bits/stdc++.h>
using namespace std; const int maxn = ;
int N, K;
int a[maxn], dp[maxn][maxn]; int main() {
scanf("%d%d", &N, &K);
for(int i = ; i <= N; i ++)
scanf("%d", &a[i]); sort(a + , a + N + );
memset(dp, , sizeof(dp));
int pos = ;
for(int i = ; i <= N; i ++) {
while(a[i] - a[pos] > && pos <= N) pos ++;
for(int j = ; j <= min(K, i); j ++) {
dp[i][j] = max(dp[i - ][j], dp[pos - ][j - ] + i - pos + );
}
} int ans = ;
for(int i = ; i <= K; i ++) {
ans = max(ans, dp[N][i]);
} printf("%d\n", ans); return ;
}
F1. Spanning Tree with Maximum Degree
代码:
#include <bits/stdc++.h>
using namespace std; const int maxn = 2e5 + ;
int N, M;
vector<int> v[maxn];
int vis[maxn], son[maxn];
int maxx = , temp;
vector<int> u;
vector<vector<int> > ans; void bfs(int st) {
vis[st] = ;
queue<int> q;
while(!q.empty()) q.pop();
q.push(st);
while(!q.empty()) {
int tp = q.front();
q.pop();
for(int i = ; i < v[tp].size(); i ++) {
if(!vis[v[tp][i]]) {
vis[v[tp][i]] = ;
printf("%d %d\n", tp, v[tp][i]);
q.push(v[tp][i]);
}
}
}
} int main() {
scanf("%d%d", &N, &M);
while(M --) {
int a, b;
scanf("%d%d", &a, &b);
v[a].push_back(b);
v[b].push_back(a);
son[a] ++, son[b] ++;
} for(int i = ; i <= N; i ++) {
if(son[i] > maxx) {
maxx = son[i];
temp = i;
}
} bfs(temp);
return ;
}
F2. Spanning Tree with One Fixed Degree
今天也是被奶茶治愈的一天
最新文章
- 从零构建JavaScript的对象系统
- Emacs-24.1 + ECB-2.40 + cscope-15.7a + cedet 无root权限指定目录安装与配置
- jQuery源代码学习之七—队列模块queue
- 转- Oracle Audit 功能的使用和说明
- iOS 完美解决 interactivePopGestureRecognizer 卡住的问题
- case when 对某个字段值分类讨论
- @jsonignore的作用
- iOS开发——UI篇Swift篇&;玩转UItableView(二)高级功能
- __attribute__机制介绍
- 认识CoreData-高级用法
- bootstrap快速入门笔记(五)-文本元素类,各种标签,排版
- angular 自定义指令详解 Directive
- POJ 3537 Crosses and Crosses [Multi-SG]
- Spring security在MS-SQL下的初始化脚本
- 第一次:lesson eighty seven。
- PHP依赖倒置和控制反转
- L267 How to save money
- python2.7.9安装mysql-python模块
- Windows下 训练Tesseract实现识别图片中的文字
- 【题解】 bzoj4472: [Jsoi2015]salesman (动态规划)