zufe 蓝桥选拔
https://zufeoj.com/contest.php?cid=1483
问题 A: A
代码:
#include <bits/stdc++.h>
using namespace std; const int maxn = 1e5 + ;
int n;
int num[maxn];
map<int, int> mp; int main() {
scanf("%d", &n);
for(int i = ; i < n; i ++) {
scanf("%d", &num[i]);
mp[num[i]] ++;
} sort(num, num + n);
int maxx = num[n - ];
for(int i = ; i <= maxx; i ++)
printf("%d\n", mp[i]);
return ;
}
问题 B: 平方数(sevensqr)
代码:
#include <bits/stdc++.h>
using namespace std; bool is(int x) {
vector<int> num;
int t = x;
while(t) {
num.push_back(t % );
t /= ;
} map<int, int> mp;
for(int i = ; i < num.size(); i ++) {
mp[num[i]] ++;
if(mp[num[i]] > ) return false;
}
return true;
} int main() {
vector<int> ans;
for(int i = ; i < ; i ++) {
if((int)sqrt(i) == sqrt(i) && is(i))
ans.push_back(i);
} int cnt = ;
for(int i = ; i < ans.size(); i ++) {
cnt ++;
printf("%d ", ans[i]);
printf("%s", (cnt % == ) ? "\n" : "");
} return ;
}
问题 C: 打印图形
代码:
#include <bits/stdc++.h>
using namespace std; int T;
char mp[][]; int main() {
scanf("%d", &T);
while(T --) {
int n;
scanf("%d", &n);
for(int i = ; i <= n; i ++) {
for(int j = ; j <= n; j ++) {
if(i == j) mp[i][j] = '*';
else if(i == || i == n)
mp[i][j] = '*';
else if(j == || j == n)
mp[i][j] = '*';
else mp[i][j] = '.';
}
} for(int i = ; i <= n; i ++) {
for(int j = ; j <= n; j ++)
printf("%c", mp[i][j]);
printf("\n");
}
}
return ;
}
问题 D: 借书
代码:
#include <bits/stdc++.h>
using namespace std; int T;
int n, m, w;
int book[]; int main() {
scanf("%d", &T);
while(T --) {
scanf("%d", &n);
for(int i = ; i <= n; i ++)
scanf("%d", &book[i]);
scanf("%d", &m);
while(m --) {
int x;
scanf("%d", &x);
if(x > ) book[x] --;
else book[abs(x)] ++;
}
scanf("%d", &w);
if(book[w] > )
printf("yes\n");
else printf("no\n");
}
return ;
}
问题 E: 九宫
代码:
#include <bits/stdc++.h>
using namespace std; int T;
int maze[][]; int main() {
scanf("%d", &T);
for(int y = ; y <= T; y ++) {
memset(maze, , sizeof(maze));
for(int i = ; i < ; i ++)
for(int j = ; j < ; j ++)
scanf("%d", &maze[i][j]); map<int, int> mp;
bool flag = true;
for(int i = ; i < ; i ++) {
for(int j = ; j < ; j ++) {
mp[maze[i][j]] ++;
if(mp[maze[i][j]] > ) {
flag = false;
//printf("Wrong\n");
break;
}
}
mp.clear();
} for(int i = ; i < ; i ++) {
for(int j = ; j < ; j ++) {
mp[maze[j][i]] ++;
if(mp[maze[j][i]] > ) {
flag = false;
//printf("Wrong\n");
break;
}
}
mp.clear();
} for(int i = ; i < ; i += ) {
for(int j = ; j < ; j += ) {
for(int s = i; s < i + ; s ++) {
for(int t = j; t < j + ; t ++) {
mp[maze[s][t]] ++;
if(mp[maze[s][t]] > ) {
flag = false;
//printf("Wrong\n");
break;
}
}
}
mp.clear();
}
}
if(flag) printf("Right\n");
else printf("Wrong\n");
}
return ;
}
问题 F: 捡石头
代码:
#include <bits/stdc++.h>
using namespace std; int T; int main() {
scanf("%d", &T);
while(T --) {
int n;
scanf("%d", &n);
int win = ;
if(n % == )
win = ; if(win) printf("金\n");
else printf("勇\n");
}
return ;
}
问题 G: 竞赛真理
代码:
#include <bits/stdc++.h>
using namespace std; int n, t;
int w1[], w2[], t1[], t2[];
int dp[][]; int main() {
scanf("%d%d", &n, &t);
for(int i = ; i < n; i ++)
scanf("%d%d%d%d", &w1[i], &t1[i], &w2[i], &t2[i]); for(int i = n - ; i >= ; i --) {
for(int j = ; j <= t; j ++) {
if(j < t1[i] && j < t2[i])
dp[i][j] = dp[i + ][j];
else if(j < t1[i] && j >= t2[i])
dp[i][j] = max(dp[i + ][j], dp[i + ][j - t2[i]] + w2[i]);
else if(j >= t1[i] && j < t2[i])
dp[i][j] = max(dp[i + ][j], dp[i + ][j - t1[i]] + w1[i]);
else
dp[i][j] = max(dp[i + ][j], max(dp[i + ][j - t1[i]] + w1[i], dp[i + ][j - t2[i]] + w2[i]));
}
} int ans = dp[][t];
printf("%d\n", ans);
return ;
}
问题 H: 吃西瓜
代码:
#include <stdio.h>
#include <string.h>
#define max(a, b) (a)>(b)?(a):(b)
#define INF 0x3f3f3f3f3f3f3f
const int N = ; int t, A, B, C;
long long g[][][], sum[][][][], res[][][][]; void init() {
scanf("%d%d%d", &A, &B, &C);
for (int i = ; i <= A; i++)
for (int j = ; j <= B; j++)
for (int k = ; k <= C; k++)
scanf("%lld", &g[i][j][k]);
} long long solve() {
long long ans = -INF;
for (int c = ; c <= A; c++) {
for (int i = ; i <= B; i++) {
for (int j = i; j <= B; j++) {
for (int k = ; k <= C; k++) {
long long h = ;
for (int l = k; l <= C; l++) {
h += g[c][j][l];
sum[i][j][k][l] = sum[i][j - ][k][l] + h;
if (c == ) res[i][j][k][l] = sum[i][j][k][l];
else res[i][j][k][l] = max(sum[i][j][k][l], res[i][j][k][l] + sum[i][j][k][l]);
ans = max(ans, res[i][j][k][l]);
}
}
}
}
}
return ans;
} int main() {
//scanf("%d", &t);
//while (t--) {
init();
printf("%lld\n", solve());
if (t) printf("\n");
//}
return ;
}
附加:二维数组的最大子矩阵和
代码:
#include <bits/stdc++.h>
using namespace std; int n, m; int MaxSum(vector<vector<int> >& a) {
int cur = ;
int maxx = INT_MIN;
for(int i = ; i < a.size(); i ++) {
vector<int> s(a[].size());
for(int j = i; j < a.size(); j ++) {
cur = ;
for(int k = ; k < s.size(); k ++) {
s[k] += a[j][k];
cur += s[k];
maxx = max(maxx, cur);
cur = max(cur, );
}
}
} return maxx;
} int main() {
scanf("%d%d", &n, &m);
vector<vector<int> > v(n, vector<int>(m));
for(int i = ; i < n; i ++) {
for(int j = ; j < m; j ++)
scanf("%d", &v[i][j]);
} int ans = MaxSum(v);
printf("%d\n", ans);
return ;
}
第一次参加的比赛 超级紧脏 还是要好好学呢
zufe 蓝桥选拔的更多相关文章
- 第五届蓝桥杯校内选拔第七题_(树型dp)
G将军有一支训练有素的军队,这个军队除开G将军外,每名士兵都有一个直接上级(可能是其他士兵,也可能是G将军).现在G将军将接受一个特别的任务,需要派遣一部分士兵(至少一个)组成一个敢死队,为了增加敢死 ...
- 第五届蓝桥杯校内选拔第六题_(dfs)
你一定听说过“数独”游戏.如[图1.png],玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个同色九宫内的数字均含1-9,不重复. 数独的答案都是唯一的,所以 ...
- C语言蓝桥杯比赛原题和解析
蓝桥杯:在计算机编程领域,是具有一定含金量的竞赛,用于选拔信息技术人才. 一般分为多个领域,其中包含了C/C#/C++/Java/Python等编程语言的测试题,多为算法的设计题. 下面,在搜题过程中 ...
- 蓝桥杯算法提高 P1001(大数乘法)
算法提高 P1001 时间限制:1.0s 内存限制:256.0MB 当两个比较大的整数相乘时,可能会出现数据溢出的情形.为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法. 具体 ...
- FZU 1894 志愿者选拔(单调队列)
传送门 Description 世博会马上就要开幕了,福州大学组织了一次志愿者选拔活动.参加志愿者选拔的同学们排队接受面试官们的面试.参加面试的同学们按照先来先面试并且先结束的原则接受面试官们的考查. ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- [总结]HNOI2015省队选拔
// 此博文为迁移而来,写于2015年4月21日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vy9t.html 这次省 ...
- 2015年第六届蓝桥杯C/C++程序设计本科B组决赛
1.积分之谜(枚举) 2.完美正方形 3.关联账户(并查集) 4.密文搜索 5.居民集会 6.模型染色 1.积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C.为了促销,每件商品都会返固定 ...
- FZU 1894 志愿者选拔 (单调队列)
/****************************************************************** 题目: 志愿者选拔(FZU 1894) 算法: 单调队列 算法思 ...
随机推荐
- webpack中使用vue
1.安装vue cnpm i install -S 2.由于在 webpack 中,推荐使用 .vue 的文件模板文件定义组件 , 所以 ,需要安装 能解析这种文件的 loader cnpm i vu ...
- P3818 小A和uim之大逃离 II(bfs,有条件的广搜)
题目背景 话说上回……还是参见 https://www.luogu.org/problem/show?pid=1373 吧 小a和uim再次来到雨林中探险.突然一阵南风吹来,一片乌云从南部天边急涌过来 ...
- Java分享笔记:创建多线程 & 线程同步机制
[1] 创建多线程的两种方式 1.1 通过继承Thread类创建多线程 1.定义Thread类的子类,重写run()方法,在run()方法体中编写子线程要执行的功能. 2.创建子线程的实例对象,相当于 ...
- JavaScript实现Tab切换
在网页开发中,常常会遇见很多Tab切换,Tab切换增加网页浏览的舒适性,对于开发人员特别常见,本文使用JS实现tab切换效果,仅对学习中遇到的知识点做一个总结. 效果图如下: 实现思路: 1. ...
- doT.js使用介绍
doT.js特点是快,小,无依赖其他插件,压缩版仅有4K大小. doT.js详细使用介绍 使用方法: 1 2 3 4 5 6 7 {{ }} 模板 开始标记 结束标记 {{= }} 赋值 {{~ ...
- 初识python 函数(定义,传参,返回值)
python基础(二): 菜鸟教程基础知识讲解的非常全面,内容选择我认为的重点输出一遍 函数: 定义一个函数: 你可以定义一个由自己想要功能的函数,以下是简单的规则: def fun(arg): pa ...
- 【ajax】ajax异步实现用户注册验证
从前台到后台实现简单用户注册检查用户是否存在 1.编写domain public class User { private String username; private String passwo ...
- Go语言的标准net库使用
Go语言的标准net库使用 与大多数语言一样,Go的标准库是很全的,因为Go的出现本来就是为了网络通信的高并发实现,所以其相关的网络库封装得很简洁,也更加的易读.这里对使用到的api进行记录. net ...
- Kubernetes-apiserver
Kubernetes API服务器为API对象验证和配置数据,这些对象包含Pod.Service.ReplicationController等等.API Server提供REST操作以及前端到集群的共 ...
- 一起来学习Shell脚本
Shell脚本 Shell脚本(shell script),是一种为shell编写的脚本程序. 大家所说的shell通常都是指的shell脚本,但其实shell与shell脚本是两个不同的概念.由于习 ...