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的更多相关文章

  1. 合肥学院ACM集训队第一届暑假友谊赛 B FYZ的求婚之旅 D 计算机科学家 F 智慧码 题解

    比赛网址:https://ac.nowcoder.com/acm/contest/994#question B FYZ的求婚之旅 思路: 然后用快速幂即可. 细节见代码: #include <i ...

  2. 暑假训练round 3 题解

    今天做题运气出奇的好,除了几处小错误调试之后忘记改掉了……最后还AK了……虽然题目不难,学长也说是福利局,但是对个人的鼓励作用还是挺大的……至此暑假训练就结束了,也算没有遗憾……. 题解如下: Pro ...

  3. 20172305 暑假作业 之 TimeCalculate & Save Iron Man

    20172305 暑假作业 之 TimeCalculate & Save Iron Man TimeCalculate 项目介绍 项目名称: TimeCalculate 项目简介: 本项目基于 ...

  4. STL 入门 (17 暑假集训第一周)

    快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------- ...

  5. [置顶] 2013_CSUST暑假训练总结

    2013-7-19 shu 新生训练赛:母函数[转换成了背包做的] shuacm 题目:http://acm.hdu.edu.cn/diy/contest_show.php?cid=20083总结:h ...

  6. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  7. Java开发中的23种设计模式详解

    [放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...

  8. ILJMALL project过程中遇到Fragment嵌套问题:IllegalArgumentException: Binary XML file line #23: Duplicate id

    出现场景:当点击"分类"再返回"首页"时,发生error退出   BUG描述:Caused by: java.lang.IllegalArgumentExcep ...

  9. CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator

    CSharpGL(23)用ComputeShader实现一个简单的ParticleSimulator 我还没有用过Compute Shader,所以现在把红宝书里的例子拿来了,加入CSharpGL中. ...

  10. ABP(现代ASP.NET样板开发框架)系列之23、ABP展现层——异常处理

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之23.ABP展现层——异常处理 ABP是“ASP.NET Boilerplate Project (ASP.NET ...

随机推荐

  1. NetMvc通过亚马逊方式服务器端和客户端上传MinIO顺利解决

    前言: 1.由于项目是.NET Framework 4.7 MVC LayUI,所以需要找一个资源站点存放项目中静态资源文件: 2.需要支持服务端和客户端都支持上传文件方式: 3.调用简单,涉及库越少 ...

  2. 使用vue-contextmenujs鼠标右键菜单时,当高度不够时显示不全的问题

    之前是采用npm或者yarn直接装包vue-contextmenujs的形式: npm install vue-contextmenujs -S || yarn add vue-contextmenu ...

  3. 【iOS】Class对构造简洁代码很有帮助

    (这到底取的是什么标题啊) 首先先看这段代码(有删减) @property (nonatomic, copy)NSMutableArray <NSMutableArray *>*datas ...

  4. .NET 个人博客-首页排版优化

    个人博客-首页排版优化 优化计划 置顶3个且可滚动或切换 推荐改为4个,然后新增历史文章,将推荐的加载更多放入历史文章,按文章发布时间降序排列. 标签功能,可以为文章贴上标签 推荐点赞功能 本篇文章优 ...

  5. Python_18 unittest和随机数

  6. NXP i.MX 8M Plus工业开发板硬件说明书( 四核ARM Cortex-A53 + 单核ARM Cortex-M7,主频1.6GHz)

    前  言 本文主要介绍创龙科技TLIMX8MP-EVM评估板硬件接口资源以及设计注意事项等内容. 创龙科技TLIMX8MP-EVM是一款基于NXP i.MX 8M Plus的四核ARM Cortex- ...

  7. LVGL一键打包图片工具,全部图片打包成一个bin文件,支持nor flash XIP模式下直接访问数据显示

    最近做工程项目,需要用到LVGL,但是搜了很长时间没有看到合适的图片打包工具,大多都是生成数组或者单个的bin文件,这样烧录到nor flash很麻烦 后来看到一篇博客,博主的想法与我类似,不过他后面 ...

  8. MongoDB手稿

  9. Java-记住上一次访问时间案例

    记住上一次访问时间 1.需求: 1.访问一个Servlet,如果是第一次访问,则提示:您好,欢迎您首次访问 2.如果不是第一次访问,则提示:欢迎回来,您上次访问的时间为:显示字符串 2.分析 1.可以 ...

  10. 零代码教你安装部署Stable Diffusion 3,一键生成高质量图像

    本文分享自华为云社区<重磅![支持中文]stable-diffusion-3安装部署教程-SD3 来了>,作者:码上开花_Lancer. 正如承诺的那样,Stability AI在6月12 ...