Codeforces Round 880 (Div. 2)(VP-13,寒假加训)

2024-01-15 02:44

本文主要是介绍Codeforces Round 880 (Div. 2)(VP-13,寒假加训),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

VP时间

A.

计数器

比较c[i]与c[i+1]

1.ac

B.

数学?

好贪

让(n-1)个人都拿g/2(向上取整)-1,这样每个人都拿不到

或者全部人都拿g/2(向上取整)-1,省的是g/2-1,综合一下还是ans

最后一个人拿完全部

1.wa2

2.wa2

3,.wa2

4.g得奇数偶数

或者直接变成(a+b-1/b)(向下取整)

1.g&1

g/2(向上取整)==g/2

2.!(g&1)

g/2(向上取整==g/2-1

4.ac

C.

没时间

题解

A.

// Problem: A. Destroyer
// Contest: Codeforces - Codeforces Round 880 (Div. 2)
// URL: https://codeforces.com/contest/1836/problem/A
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int a[N],c[N];
void Lan(){int n;cin>>n;memset(c,0,sizeof(c));for(int i=1;i<=n;i++){cin>>a[i];c[a[i]]++;}bool ok=true;for(int i=0;i<=100;i++){if(c[i+1]>c[i]){ok=false;}}if(!ok){cout<<"NO"<<'\n';}else{cout<<"YES"<<'\n';}}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}

B.

1.

// Problem: B. Astrophysicists
// Contest: Codeforces - Codeforces Round 880 (Div. 2)
// URL: https://codeforces.com/contest/1836/problem/B
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
void Lan(){ll n,k,g;cin>>n>>k>>g;ll sum=min(k*g,(g-1)/2*n);ll res=(k*g-sum)%g;if(res>0){sum-=(g-1)/2;ll ans=((g-1)/2+res)%g;if(ans*2<g){sum+=ans;}else{sum-=g-ans;}}cout<<sum<<'\n';}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}

2.

// Problem: B. Astrophysicists
// Contest: Codeforces - Codeforces Round 880 (Div. 2)
// URL: https://codeforces.com/contest/1836/problem/B
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
void Lan(){ll n,k,g;cin>>n>>k>>g;ll ans=0;if(g&1){ans=(g/2)*n;}else{ans=(g/2-1)*n;}ans/=g;if(ans>k){ans=k;}cout<<ans*g<<'\n';
}
int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}

C.

题意原来是找按字典树找第k个满足等式的

枚举a就好了

// Problem: C. k-th equality
// Contest: Codeforces - Codeforces Round 880 (Div. 2)
// URL: https://codeforces.com/contest/1836/problem/C
// Memory Limit: 256 MB
// Time Limit: 1000 ms
// 
// Powered by CP Editor (https://cpeditor.org)#include<bits/stdc++.h>
#define eps 1e-5
#define INF 1e9
using namespace std;
typedef long long ll;
const int N = 2e6 + 9;
int t[10]={1,10,100,1000,10000,100000,1000000};
void Lan(){int a,b,c;ll k;cin>>a>>b>>c>>k;bool ok=false;for(int i=t[a-1];i<t[a];i++){int l=t[b-1],r=t[b]-1;l=max(l,t[c-1]-i);r=min(r,t[c]-1-i);if(r<l){continue;}if(k>r-l+1){k-=r-l+1;continue;}cout<<i<<" "<<"+"<<" "<<l+k-1<<" "<<"="<<" "<<i+(l+k-1)<<'\n';ok=true;break;}if(!ok){cout<<-1<<'\n';}
}int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int q;cin>>q;while (q--) {Lan();}return 0;
}

这篇关于Codeforces Round 880 (Div. 2)(VP-13,寒假加训)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/607390

相关文章

Java进阶13讲__第12讲_1/2

多线程、线程池 1.  线程概念 1.1  什么是线程 1.2  线程的好处 2.   创建线程的三种方式 注意事项 2.1  继承Thread类 2.1.1 认识  2.1.2  编码实现  package cn.hdc.oop10.Thread;import org.slf4j.Logger;import org.slf4j.LoggerFactory

Codeforces Round #240 (Div. 2) E分治算法探究1

Codeforces Round #240 (Div. 2) E  http://codeforces.com/contest/415/problem/E 2^n个数,每次操作将其分成2^q份,对于每一份内部的数进行翻转(逆序),每次操作完后输出操作后新序列的逆序对数。 图一:  划分子问题。 图二: 分而治之,=>  合并 。 图三: 回溯:

Codeforces Round #261 (Div. 2)小记

A  XX注意最后输出满足条件,我也不知道为什么写的这么长。 #define X first#define Y secondvector<pair<int , int> > a ;int can(pair<int , int> c){return -1000 <= c.X && c.X <= 1000&& -1000 <= c.Y && c.Y <= 1000 ;}int m

Codeforces Beta Round #47 C凸包 (最终写法)

题意慢慢看。 typedef long long LL ;int cmp(double x){if(fabs(x) < 1e-8) return 0 ;return x > 0 ? 1 : -1 ;}struct point{double x , y ;point(){}point(double _x , double _y):x(_x) , y(_y){}point op

Codeforces Round #113 (Div. 2) B 判断多边形是否在凸包内

题目点击打开链接 凸多边形A, 多边形B, 判断B是否严格在A内。  注意AB有重点 。  将A,B上的点合在一起求凸包,如果凸包上的点是B的某个点,则B肯定不在A内。 或者说B上的某点在凸包的边上则也说明B不严格在A里面。 这个处理有个巧妙的方法,只需在求凸包的时候, <=  改成< 也就是说凸包一条边上的所有点都重复点都记录在凸包里面了。 另外不能去重点。 int

Codeforces 482B 线段树

求是否存在这样的n个数; m次操作,每次操作就是三个数 l ,r,val          a[l] & a[l+1] &......&a[r] = val 就是区间l---r上的与的值为val 。 也就是意味着区间[L , R] 每个数要执行 | val 操作  最后判断  a[l] & a[l+1] &......&a[r] 是否= val import ja

CSS实现DIV三角形

本文内容收集来自网络 #triangle-up {width: 0;height: 0;border-left: 50px solid transparent;border-right: 50px solid transparent;border-bottom: 100px solid red;} #triangle-down {width: 0;height: 0;bor

13 transition数组的动画使用

划重点 动画:transitiontransition-group :数组动画数组的 添加 / 删除 豆腐粉丝汤 清淡又健康 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><me

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

Chapter 13 普通组件的注册使用

欢迎大家订阅【Vue2+Vue3】入门到实践 专栏,开启你的 Vue 学习之旅! 文章目录 前言一、组件创建二、局部注册三、全局注册 前言 在 Vue.js 中,组件是构建应用程序的基本单元。本章详细讲解了注册和使用 Vue 的普通组件的两种方式:局部注册和全局注册。 本篇文章参考黑马程序员 一、组件创建 ①定义 Vue 组件是一种具有特定功能的 Vue 实