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 蓝桥选拔的更多相关文章

  1. 第五届蓝桥杯校内选拔第七题_(树型dp)

    G将军有一支训练有素的军队,这个军队除开G将军外,每名士兵都有一个直接上级(可能是其他士兵,也可能是G将军).现在G将军将接受一个特别的任务,需要派遣一部分士兵(至少一个)组成一个敢死队,为了增加敢死 ...

  2. 第五届蓝桥杯校内选拔第六题_(dfs)

    你一定听说过“数独”游戏.如[图1.png],玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个同色九宫内的数字均含1-9,不重复. 数独的答案都是唯一的,所以 ...

  3. C语言蓝桥杯比赛原题和解析

    蓝桥杯:在计算机编程领域,是具有一定含金量的竞赛,用于选拔信息技术人才. 一般分为多个领域,其中包含了C/C#/C++/Java/Python等编程语言的测试题,多为算法的设计题. 下面,在搜题过程中 ...

  4. 蓝桥杯算法提高 P1001(大数乘法)

      算法提高 P1001   时间限制:1.0s   内存限制:256.0MB   当两个比较大的整数相乘时,可能会出现数据溢出的情形.为避免溢出,可以采用字符串的方法来实现两个大数之间的乘法. 具体 ...

  5. FZU 1894 志愿者选拔(单调队列)

    传送门 Description 世博会马上就要开幕了,福州大学组织了一次志愿者选拔活动.参加志愿者选拔的同学们排队接受面试官们的面试.参加面试的同学们按照先来先面试并且先结束的原则接受面试官们的考查. ...

  6. java面试宝典(蓝桥学院)

    Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...

  7. [总结]HNOI2015省队选拔

    // 此博文为迁移而来,写于2015年4月21日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vy9t.html 这次省 ...

  8. 2015年第六届蓝桥杯C/C++程序设计本科B组决赛

    1.积分之谜(枚举) 2.完美正方形 3.关联账户(并查集) 4.密文搜索 5.居民集会 6.模型染色 1.积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C.为了促销,每件商品都会返固定 ...

  9. FZU 1894 志愿者选拔 (单调队列)

    /****************************************************************** 题目: 志愿者选拔(FZU 1894) 算法: 单调队列 算法思 ...

随机推荐

  1. udt通信java再次升级1.1版

    以前完成了udt的java代码测试,功能基本完成,近几天有时间重新梳理了下源码: 对原通信的关闭统一了方法,close定位过时,由shutdown与shutdownNow代替. 将一些主要方法添加了注 ...

  2. Spring的声明式事务----Annotation注解方式(1)

    这里列一个小的demo工程,直接利用Spring的jdbcTemplate访问Mysql数据库. 工程结构: 数据库中的tbl_student表结构如下: 数据实体类Student.java代码如下: ...

  3. 自定义组件v-model的实质性理解

    用了几个月Vue一直很纠结自定义组件的v-model实现,最近开始学习React时,React中受控组件与状态提升的理念与v-model不谋而合. 转载请注明地址: https://www.cnblo ...

  4. Ubuntu 18.04添加新网卡

    在Ubuntu 18.04 LTS上配置IP地址的方法与旧方法有很大不同.与以前的版本不同,Ubuntu 18.04使用Netplan(一种新的命令行网络配置实用程序)来配置IP地址. 在这种新方法中 ...

  5. simpleXML技术解析xml文件(php)

    1.simpleXML的核心思想:以面向对象的方法来操作xml文件 此技术可以将xml文件的所有元素都转成对象.会返回一个对象数组,再用foreach遍历,即可得到元素的名称,内容,和属性值. tes ...

  6. Node.js(一)----安装

    1.下载 地址 https://nodejs.org/en/download/ 注: 系统为ubuntu 下载的源码包 tar.gz 或者 wget https://nodejs.org/dist/v ...

  7. linux中安装node

    1.去官网下载和自己系统匹配的文件: 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通过 uname -a ...

  8. maven 添加自己下载的jar包到本地仓库

    1.在pom文件中添加依赖,其中groupId等变量都自拟. 例如: 2.在命令行执行以下命令,提示build success即表示安装成功. mvn install:install-file -Dg ...

  9. java doc 编写

    总而言之,我觉得有用的是: @see 只要敲了@see 然后会自动写你的类名的,很方便.# 去连接字段 {@link } 只要敲了{@link } 然后会自动写你的类名的,很方便.# 去连接字段 如果 ...

  10. AD-Powershell for Active Directory Administrators

    Table of Contents   Computer object commands Group object commands Organizational Unit (OU) commands ...