A - How to Get 2^n

没写出来,不过应该是Trie

B - 皇家火枪手

二分,求出满足条件的最少人

#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
#include<stdio.h>
#include<vector>
#include<cmath>
using namespace std;
const int MAXN=10000+5;
typedef long long int LL;
int m,a,k;
bool check(int x)
{LL cnt=0;if(k>2){for(int i=2,tot=0;i<=k&&tot<x;i+=2){cnt+=1LL*(k-i)*a;tot++;}}return 1LL*a*x*k-cnt>=m;
}
int main()
{int t,n;scanf("%d",&t);while(t--){scanf("%d%d%d",&m,&a,&k);int left=0,right=100000000+1,mid;while(right>=left){mid = (left + right) >> 1;if (check(mid)){right = mid - 1;}else {left = mid + 1;}}printf("%d\n",left);}return 0;
}

C -  Race

按照题目模拟吧。

#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
#include<vector>
#include<cmath>
#include<cstdio>
#include<stack>
using namespace std;
typedef long long ll;
const int maxn = 10005;
int john[maxn], bob[maxn];
bool cmp(int a, int b)
{return a > b;
}
int main(){
#ifdef kiritofreopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);
#endifint T;scanf("%d", &T);while (T--){int n;scanf("%d", &n);for (int i = 0; i < n; ++i)scanf("%d", &john[i]);for (int i = 0; i < n; ++i)scanf("%d", &bob[i]);sort(john, john + n);sort(bob, bob + n);int jr = n - 1, jl = 0;int br = n - 1, bl = 0;int ans = 0;while (jl <= jr && bl <= br){if (john[jl] > bob[bl])ans++, jl++, bl++;else if (john[jl] < bob[bl])jl++, br--;else {if (john[jr] > bob[br])ans++, jr--, br--;else if (john[jr] < bob[br])br--, jl++;else{if (john[jl] < bob[br])jl++, br--;else if (john[jl] == bob[br])break;}}}printf("%d\n", ans);}return 0;
}

D -  想打架吗?算我一个!所有人,都过来!

把前十项推出来就可以发现有规律了。  n>=3时,每四项一个循环

#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
#include<stdio.h>
#include<vector>
#include<cmath>
using namespace std;
int main()
{
//#ifndef kirito
//  freopen("in.txt","r",stdin);
//  freopen("out.txt","w",stdout);
//#endifint t,n,Ca=1;scanf("%d",&t);while(t--){scanf("%d",&n);int ans1,ans2;if(n==0){ans1=ans2=1;}else if(n==1){ans1=ans2=2;}else{int tot[4]={4,6,6,5};if(n>=3){ans2=6;}else{ans2=4;}ans1=tot[(n-2)%4];}printf("Case %d: %d %d\n",Ca++,ans1,ans2);}return 0;
}

E -  加尔鲁什·地狱咆哮对阵虚灵大盗拉法姆

概率dp,没写出来

F - 你经历过绝望吗?两次!

要求的不是步数最优而是某项条件最优,那么我们就以那项条件优先扩展队列。

#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
#include<stdio.h>
#include<vector>
#include<cmath>
#include<queue>
using namespace std;
const int MAXN = 100 + 5;
#define INF 0x3f3f3f3f
int n, m, t, vis[MAXN][MAXN], dist[4][2] = { 1, 0, -1, 0, 0, 1, 0, -1 };
char g[MAXN][MAXN];
struct Node
{int x, y;int k;bool operator < (const Node &rhs)const{return k>rhs.k;}
}start;
bool check(int x, int y)
{return x >= 0 && x<n&&y >= 0 && y<m;
}
int bfs()
{memset(vis, 0, sizeof(vis));priority_queue<Node>Q;Q.push(start);vis[start.x][start.y] = 1;while (!Q.empty()){Node Top, Next;Top = Q.top();Q.pop();if (Top.x == 0 || Top.x == n - 1 || Top.y == 0 || Top.y == m - 1){return Top.k;}for (int i = 0; i<4; i++){Next.x = Top.x + dist[i][0];Next.y = Top.y + dist[i][1];Next.k = Top.k;if (check(Next.x, Next.y) && g[Next.x][Next.y] != '#'&&vis[Next.x][Next.y] == 0){if (g[Next.x][Next.y] == '*'){Next.k++;}vis[Next.x][Next.y] = 1;Q.push(Next);}}}return -1;
}
int main()
{
#ifdef kiritofreopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);
#endifscanf("%d", &t);while (t--){scanf("%d%d", &n, &m);for (int i = 0; i<n; i++){scanf("%s", &g[i]);for (int j = 0; j<m; j++){if (g[i][j] == '@'){start.x = i; start.y = j; start.k = 0;}}}printf("%d\n", bfs());}return 0;
}

G -  The Fake Coin

三进制问题。

#include<iostream>
#include<string>
#include<cstring>
#include<algorithm>
#include<stdio.h>
#include<vector>
#include<cmath>
using namespace std;
const int MAXN = 10000 + 5;
int ans[MAXN];
void init()
{int tot = 3, cnt = 1;ans[1] = 0; ans[2] = 1;for (int i = 3; i <= 10000; i++){if (i>tot){tot = tot * 3;cnt++;}ans[i] = cnt;}
}
int main()
{
#ifdef kiritofreopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);
#endifint t, n;scanf("%d", &t);init();while (t--){scanf("%d", &n);printf("%d\n", ans[n]);}return 0;
}

H -  线形逐步共聚合反应

题目很难懂,不过应该是道三分题。

I - Tractatus Logico-Philosophicus

这题有毒,当n不为2的次幂时,根本构造不出来题目要求的矩阵[关于主对角线对称,每行每列元素都是0到n-1,切不重复。],不过这题真是迷。 即使不符合题目要求的矩阵代码都能AC。醉了。 补充: 这真是神题,刚刚试了一下,只要对角线是0,其他位置随意填都能AC。 不管你填什么数

#define _CRT_SECURE_NO_DEPRECATE
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<string>
#include<bitset>
#include<utility>
#include<functional>
#include<iomanip>
#include<sstream>
using namespace std;
const int MAXN = 1000 + 5;
int num[MAXN][MAXN];
int main()
{
#ifdef kiritofreopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);
#endifint t, n;scanf("%d", &t);while (t--){scanf("%d", &n);for (int i = 0; i < n; i++) //主对角线{num[i][i] = 0;}for (int i = 0, j = n - 1; j >= 0; j--, i++) //副对角线{num[i][j] = n - 1;}for (int i = 0, cnt = 1, k = 1; k < (n / 2); k++, i++, cnt += 2) //右三角{int size = n - (i + 1) * 2, p = cnt;for (int j = i + 1, x = 1; x <= size; j++, x++){num[i][j] = num[n - 1 - j][n - 1 - i] = p++;}}for (int i = 1; i < n; i++){for (int j = 0; j < i; j++){num[i][j] = num[j][i];}}for (int i = 0; i < n; i++){for (int j = 0; j < n; j++){printf("%d", num[i][j]);printf("%c", j == n - 1 ? '\n' : ' ');}}}return 0;
}

2016年中南大学校赛镜像赛相关推荐

  1. 计算机设计大赛国赛可以换队员,关于遴选2016年中国计算机设计大赛国赛评委候选人的通知...

    各学院: 根据国家有关高等学校创新能力提升计划.进一步深化高校教学改革.全面提高教学质量的精神,切实提高计算机教学质量,激励大学生学习计算机知识.技术.技能的兴趣和潜能,培养其创新创业能力及团队合作意 ...

  2. 第十三届NENUACM校赛正式赛总结

    目录 A B C D E F G H I 这次比赛主要是心态稳定,一直坚持不懈地想把题A掉,运气好就好在有很多思维题,我出的题没有用到高级点的算法. 一个点在于自己潜心研究了一点组合数学,其实并没有比 ...

  3. 数学建模系列:历年优秀论文+入门+进阶+国赛+美赛+其他

    数模系列:历年优秀论文+入门+进阶+国赛+美赛+其他(待更新中) 数模成绩为国二\省一\o奖\H奖,在博客做一个总结.先放国赛美赛的历年优秀论文,资料来源微信公众号数学模型.(目前完成部分:入门+进阶 ...

  4. 2021 年广东省职业院校技能大赛(中职组) 网络搭建与应用赛项国赛遴选赛卷(B)

    2021 年广东省职业院校技能大赛(中职组) 网络搭建与应用赛项国赛遴选赛卷(B) 技能要求 (总分 1000 分) 竞赛说明 一.竞赛内容分布 "网络搭建与应用"竞赛共分三个部分 ...

  5. 2021 年广东省职业院校技能大赛(国赛遴选赛卷(A))

    2021 年广东省职业院校技能大赛(中职组) 网络搭建与应用赛项 国赛遴选赛卷(A) 技能要求 (总分 1000 分) 2 / 29 竞赛说明 一.竞赛内容分布 "网络搭建与应用" ...

  6. 服务器部分 2023盘古石杯全国电子数据取证大赛 技能赛晋级赛

    首届盘古石杯全国电子数据取证大赛 技能赛晋级赛服务器部分 MD5: FF4AB93F852B23DD759A6810754557A8 加密容器密码:usy1UN2Mmgram&^d?0E5r9 ...

  7. 分享Kali Linux 2016.2第50周镜像文件

    分享Kali Linux 2016.2第50周镜像文件 Kali Linux官方于12月11日发布Kali Linux 2016.2的第50周镜像.这次保持以往规律,仍然是11个镜像文件.默认的Gno ...

  8. 分享Kali Linux 2016.2第49周镜像文件

    分享Kali Linux 2016.2第49周镜像文件 Kali Linux官方于12月4日发布Kali Linux 2016.2的第49周镜像.这次保持以往规律,仍然是11个镜像文件.默认的Gnom ...

  9. 分享Kali Linux 2016.2第48周镜像文件

    分享Kali Linux 2016.2第48周镜像文件 Kali Linux官方于11月27日发布Kali Linux 2016.2的第48周镜像.这次延续以往规律,仍然是11个镜像文件.默认的Gno ...

  10. 分享Kali Linux 2016.2第47周镜像

    分享Kali Linux 2016.2第47周镜像 Kali Linux官方于11月20日发布Kali Linux 2016.2的第47周镜像.这次发布仍然包含11个镜像文件.其中,不仅包含Gnome ...

最新文章

  1. flex 嵌套 之 高度自适应
  2. python将16进制字符串转换为整数_Python 16进制与字符串的转换
  3. 如何转换并压缩png格式图片
  4. mysql根据行数排序_mysql指定某行或者某列的排序
  5. linux删除一个目录下的所有空文件
  6. RBF神经网络及其应用【神经网络】
  7. 【uniapp小程序】—— APP项目云打包(安卓)
  8. 进化吧,MySQL锁!无锁->偏向锁->轻量级锁->重量级锁(请自动脑补数码宝贝进化音)
  9. 电脑系统win8计算机在哪里设置开机密码,电脑怎样设置开机密码_win8开机密码设置...
  10. postgresql立式版本下载_【PostgreSQL下载】PostgreSQL官方版下载_多特软件站
  11. [BJOI2019]勘破神机(斯特林数,数论)
  12. 【100个 Unity小知识点】☀️ | Unity 中怎样读取Excel文件
  13. windows服务器443端口被占用---云锁
  14. 五子棋游戏AI智能算法设计
  15. 微信小程token_微信小程序登录换取token
  16. 计算机系统ARM64拆除炸弹
  17. 在深圳转户口这件小事
  18. 【电脑使用】美化你的Windows
  19. python使用win32com读写excel的问题
  20. JSPEL表达式MVC三层结构综合案例

热门文章

  1. 吴恩达 :机器学习的六个核心算法
  2. 华为程序员频交 Linux 内核补丁遭质疑,管理员后续回应:承认贡献,但请不要琐碎提交
  3. Greedy 贪心算法
  4. iis+php解析漏洞修复,IIS+PHP fastcgi模式 pathinfo取值错误任意代码执行漏洞修复方法...
  5. 红警教育2020版笔记本芯片级维修教材(含军工级)
  6. 关于修改了网页源文件但是网站显示却没变的问题解决
  7. 多臂老虎机(Multi-armed Bandit)MAB学习笔记
  8. python中forward是什么意思_pytorch 中forward 的用法与解释说明
  9. MATLAB 整数小数负数十进制转换为十六进制
  10. 云原生中间件RocketMQ-消费者消费模式之广播模式、偏移量offset解析