23 暑假友谊赛 No.3
23 暑假友谊赛 No.3
Problem - B - Codeforces
贪心吧,每次看哪块瓷砖划算就尽量多的放哪块
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int n,m,x,y;
cin >>n >> m >> x >> y;
vector<string> g(n);
for(auto &i : g) cin >> i;
int ans = 0;
for(int i =0;i < n;i ++){
for(int j = 0;j < m;j ++){
if(x * 2 <= y && g[i][j] == '.'){
ans += x;
}else{
int k = 0;
while(g[i][j] == '.' && j < m){
k++, j++;
}
ans += k / 2 * y + k % 2 * x;
}
}
}
cout << ans << endl;
}
return 0;
}
Problem - C - Codeforces
比较两个端点就行了
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int l1,l2,r1,r2;
cin >> l1 >> r1 >> l2 >> r2;
if(l1 >= r2){
cout << r1 << ' ' << l2 << endl;
}else
cout << l1 << ' ' << r2 << endl;
}
return 0;
}
Problem - D - Codeforces
推出\(a^2=2\times c -1\)就好做了,直接去枚举就行
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int n;
cin >> n ;
int ans = 0;
for(int i = 3;i <= n;i++){
int m = (i * i + 1) / 2;
if(m > n)
break;
if(2 * m - 1 == i * i)
ans ++;
}
cout << ans << endl;
}
return 0;
}
Problem - E - Codeforces
一个桶计数即可,然后取最大值.
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int n;
cin >> n;
vector<int> a(n),t(110);
for(auto &i : a) {
cin >> i;
t[i]++;
}
int ans = *max_element(t.begin(), t.end());
cout << ans << endl;
}
return 0;
}
Problem - G - Codeforces
看比最小数大的有多少
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int n;
cin >> n ;
vector<int> a(n);
for(auto &i : a) {
cin >> i;
}
int mi = *min_element(a.begin(), a.end());
int ans = 0;
for(auto i : a)
ans += (i > mi);
cout << ans << endl;
}
return 0;
}
Problem - I - Codeforces
分类讨论:
- m小于平均数的话,全给一个人就行了
- 大于的话,多出来的joker牌小于其他k-1个人就-1,能整除k-1个人就给k-1个人平均分配,然后m减去这个平均值,不能整除,说明有几张刚好多出来,m在那基础上再-1就行了
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int n,m,k;
cin >> n >> m >> k;
int card = n / k;
if(m <= card){
cout << m << endl;
}else{
m -= card;
k--;
if(m < k){
cout << card - 1 << endl;
}else if(m % k == 0){
cout << card - m / k << endl;
}else
cout << card - m / k - 1 << endl;
}
}
return 0;
}
Problem - J - Codeforces
唉,写了一堆判断,我考虑的真麻烦,懒得写了,建议看我学长的
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int n,k;
cin >> n >> k;
if(n % 2 == 0){
if(k >= n ){
if(k % n == 0)
cout << n << endl;
else
cout << k % n << endl;
}else{
cout << k << endl;
}
}else if(k * 2 <= n){
cout << k << endl;
}else{
int p = (k - 1) / (n / 2);
int now;
if(k % n == 0) now = n;
else now = k % n;
if((now + p) % n == 0)
cout << n << endl;
else
cout << (now + p) % n << endl;
}
}
return 0;
}
Problem - L - Codeforces
唉,破构造题,刚开始dfs写超时,后来打表找规律又找错了,麻了
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int n;
cin >> n;
for(int i = 1;i < n;i ++){
for(int j = i + 1;j <= n;j ++){
if(2 * (j - i) == n)
cout << 0 << ' ';
else if(2 * (j - i) < n)
cout << 1 << ' ';
else
cout << -1 << ' ';
}
}
cout << endl;
}
return 0;
}
Problem - M - Codeforces
双指针从两边求前缀后缀和,相等的时候记录一下就行了
#include <bits/stdc++.h>
#define int long long
using namespace std;
typedef pair<int,int> PII;
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int n;
cin >> n ;
vector<int> a(n);
for(auto &i : a) cin >> i;
int A = a[0],B = a.back(), ans = 0;
for(int i = 0, j = n - 1;i < j;){
if(A == B)
ans = (i + 1) + (n - j);
if(A > B){
j--;
B += a[j];
}else{
i++;
A += a[i];
}
}
cout << ans << endl;
}
return 0;
}
总结
唉,刚开始编译器出问题了,半天没响应,本来最简单的签到题结果没看范围又wa了一发,后面又被那两只破猫换位置考虑了一堆写烦了,还有那个d题,刚开始读假了,没看到还要符合直角三角形,wa1发,后面那个破构造题,写个dfs超时,打表找规律找错,麻了,惹,感觉不如多来点二分贪心图论的题,补题看心情了,反正是越想越气\(:<\)
总结的总结
加训
23 暑假友谊赛 No.3的更多相关文章
- 合肥学院ACM集训队第一届暑假友谊赛 B FYZ的求婚之旅 D 计算机科学家 F 智慧码 题解
比赛网址:https://ac.nowcoder.com/acm/contest/994#question B FYZ的求婚之旅 思路: 然后用快速幂即可. 细节见代码: #include <i ...
- 暑假训练round 3 题解
今天做题运气出奇的好,除了几处小错误调试之后忘记改掉了……最后还AK了……虽然题目不难,学长也说是福利局,但是对个人的鼓励作用还是挺大的……至此暑假训练就结束了,也算没有遗憾……. 题解如下: Pro ...
- 20172305 暑假作业 之 TimeCalculate & Save Iron Man
20172305 暑假作业 之 TimeCalculate & Save Iron Man TimeCalculate 项目介绍 项目名称: TimeCalculate 项目简介: 本项目基于 ...
- STL 入门 (17 暑假集训第一周)
快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------- ...
- [置顶] 2013_CSUST暑假训练总结
2013-7-19 shu 新生训练赛:母函数[转换成了背包做的] shuacm 题目:http://acm.hdu.edu.cn/diy/contest_show.php?cid=20083总结:h ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- Java开发中的23种设计模式详解
[放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...
- ILJMALL project过程中遇到Fragment嵌套问题:IllegalArgumentException: Binary XML file line #23: Duplicate id
出现场景:当点击"分类"再返回"首页"时,发生error退出 BUG描述:Caused by: java.lang.IllegalArgumentExcep ...
- CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator
CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator 我还没有用过Compute Shader,所以现在把红宝书里的例子拿来了,加入CSharpGL中. ...
- ABP(现代ASP.NET样板开发框架)系列之23、ABP展现层——异常处理
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之23.ABP展现层——异常处理 ABP是“ASP.NET Boilerplate Project (ASP.NET ...
随机推荐
- spark读取hive表,org.apache.spark.sql.AnalysisException: Unsupported data source type for direct query on files: hive;
异常出现:spark读取hive表时,spark.read.table(hive.test) hdp版本的spark默认的catalog是spark,配置项 metastore.catalog.def ...
- selenium窗口之间的切换
import time from selenium.webdriver import Edge from selenium.webdriver.common.by import By from sel ...
- 【经验分享】全志科技官方Ubuntu16.04根文件系统镜像的替换和测试方法
本文主要基于全志A40i开发板--TLA40i-EVM,一款基于全志科技A40i处理器设计的4核ARM Cortex-A7高性能低功耗国产评估板,演示Ubuntu根文件系统镜像的替换和测试方法. 创 ...
- aach64架构 ubuntu20 桌面版 编译安装ffmpeg难点总结
[编译安装x264] 这一步基本上没有难点 git clone https://gitee.com/mirrors/x264.git ./configure --enable-shared --ena ...
- 如何计算QPS、PV和需要部署机器数量?
基本概念 网站访问量的常用衡量标准:独立访客(UV) 和 综合浏览量(PV),一般以日为单位来计算. 独立访客(UV):指一定时间范围内相同访客多次访问网站,只计算为1个独立访客. 综合浏览量(PV) ...
- SpringBoot学习篇
什么是SpringBoot?为什么要用SpringBoot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 ...
- .NET周刊【7月第1期 2024-07-07】
国内文章 学习.NET 8 MiniApis入门 https://www.cnblogs.com/hejiale010426/p/18280441 MiniApis是ASP.NET Core中的轻量级 ...
- SparkSQL on K8s 在网易传媒的落地实践
作者:鲁成祥 易顺 随着云原生技术的发展和成熟,大数据基础设施积极拥抱云原生是业内发展的一大趋势.网易传媒在 2021 年成功将 SparkSQL 部署到了 K8s 集群,并实现与部分在线业务的混合部 ...
- Python 生成条形码、二维码 (Code 128、EAN-13、QR code等)
条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流.零售.医疗.教育等各领域.本文将介绍如何使用Python快速生成各种常见的条形码 ...
- xampp+vscode 安装PHP断点调试xdebug
官网下载地址:https://xdebug.org/download.php 这里需要特别注意,有TS(thread safe)和NTS 区别,我建议不要下载最新的,我一开始使用最新的发现插件没有匹配 ...