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. 蓝牙实现对等网络连接 <GameKit/GameKit.h>

    /* 1.设置UI界面 2.引入框架 3.点击选择照片 4.连接蓝牙设备 5.实现蓝牙的代理方法 6.发送照片 */ #import "ViewController.h" #imp ...

  2. iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的使用

    [iOS开发]iOS开发CGRectGetMidX. CGRectGetMidY.CGRectGetMinY. CGRectGetMaxY. CGRectGetMinX. CGRectGetMaxX的 ...

  3. POST和GET请求区别

    最新博客站点:欢迎来访 1. 请求长度的限制 在HTTP协议中,从未规定GET/POST的请求长度限制,对于GET,对url的限制来源于浏览器或web服务器,浏览器和服务器限制了url的长度.因此,在 ...

  4. maven 打包失败 提示找不到jar的问题

    服务打包的时候发现打包失败,查看原因大概是找不到jar包,但是本地仓库有.最终的解决的办法是使用maven 命令重新把jar包安装到本地仓库. 命令如下:mvn install:install-fil ...

  5. python学习——函数

     一.在python的世界里什么是函数: 答:函数通常是用来实现某一个功能二被封装成的一个对象,是用来实现代码复用的常用方式 现在有一个需求,假如你在不知道len()方法的情况下,要你计算字符串‘he ...

  6. PHP代码统计文件大小(自动确定单位)

    php中有一个系统自带的计算文件大小的函数,就是filesize(),但是这个函数是以字节为单位的,但是在一些情况下,我们需要很直观的了解一个文件大小,就不仅仅需要字节B这个单位了,还需要KB,MB, ...

  7. Teen Readers【青少年读者】

    Teen Readers Teens and younger children are reading a lot less for fun, according to a Common Sense ...

  8. HyperLedger Fabric 1.4 超级账本简介(5.2)

    超级账本(Hyperledger)是推动区块链跨行业应用的开源项目的总称,组织成员可以发起新的区块链项目,加入到超级账本项目(Hyperledger)中,但需要遵循Hyperledger的生命周期.  ...

  9. 【转】Linux系统安装Redis详细过程

    本文来源 https://blog.csdn.net/qq_20989105/article/details/76390367 ,转载前请先联系原作者并声明出处. 一.安装gcc 1.Redis在li ...

  10. java 上溯造型与下塑造型

    父类: package com.neusoft.chapter07; public class Father { public int i = 1; public void say(){ System ...