[比赛]2015/12/25BNU新生赛

  网络同步做了半个小时,然后就拉肚子了……嗯……

A:不解释……5min 1A

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <iomanip>
 4 #include <cstring>
 5 #include <climits>
 6 #include <complex>
 7 #include <fstream>
 8 #include <cassert>
 9 #include <cstdio>
10 #include <bitset>
11 #include <vector>
12 #include <deque>
13 #include <queue>
14 #include <stack>
15 #include <ctime>
16 #include <set>
17 #include <map>
18 #include <cmath>
19
20 inline int max(int a, int b) {
21     return a > b ? a : b;
22 }
23
24 int main() {
25     int T;
26     int a, b;
27     scanf("%d", &T);
28     while(T--) {
29         scanf("%d%d", &a, &b);
30         int xx = max(a, b);
31         if(xx * 5 < 1000) {
32             printf("1000\n");
33         }
34         else if(xx * 5 >= 60000) {
35             printf("60000\n");
36         }
37         else {
38             printf("%d\n", xx * 5);
39         }
40     }
41 }

A

B:看样例,看看代码里面奇怪的地方,不解释……1min 1A

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <iomanip>
 4 #include <cstring>
 5 #include <climits>
 6 #include <complex>
 7 #include <fstream>
 8 #include <cassert>
 9 #include <cstdio>
10 #include <bitset>
11 #include <vector>
12 #include <deque>
13 #include <queue>
14 #include <stack>
15 #include <ctime>
16 #include <set>
17 #include <map>
18 #include <cmath>
19
20 inline int max(int a, int b) {
21     return a > b ? a : b;
22 }
23
24 int main() {
25     int T;
26     scanf("%d", &T);
27     while(T--) {
28         int n;
29         scanf("%d", &n);
30         printf("%d\n", -n);
31     }
32     return 0;
33 }

B

C:读错题了好几次,贪心起始时间,然后从头开始走,看当前时间是否已经布置了作业。如果布置了那么就不加间隔时间,没布置要加上间隔时间…… 20min 3A

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <iomanip>
 4 #include <cstring>
 5 #include <climits>
 6 #include <complex>
 7 #include <fstream>
 8 #include <cassert>
 9 #include <cstdio>
10 #include <bitset>
11 #include <vector>
12 #include <deque>
13 #include <queue>
14 #include <stack>
15 #include <ctime>
16 #include <set>
17 #include <map>
18 #include <cmath>
19
20 using namespace std;
21
22 typedef struct QAQ {
23     int a;
24     int b;
25 }Q;
26
27 bool cmp(Q x, Q y) {
28     if(x.a == y.a) {
29         return x.b < y.b;
30     }
31     return x.a < y.a;
32 }
33
34 const int maxn = 1111;
35 int n, t;
36 Q q[maxn];
37
38 int main() {
39    // freopen("in", "r", stdin);
40     int Qrz;
41     scanf("%d", &Qrz);
42     while(Qrz--) {
43         scanf("%d", &n);
44         for(int i = 0; i < n; i++) {
45             scanf("%d %d", &q[i].a, &q[i].b);
46         }
47         sort(q, q+n, cmp);
48         t = 0;
49         int cur = 0;
50         int cnt = 0;
51         if(q[0].a > 0) {
52             t += q[0].a + q[0].b;
53             cnt++;
54             cur = q[0].a;
55         }
56         for(cnt; cnt < n; cnt++) {
57             if(t >= q[cnt].a) {
58                 t += q[cnt].b;
59                 cur += q[cnt].a;
60             }
61             else {
62                 t += (q[cnt].a - t) + q[cnt].b;
63             }
64         }
65         printf("%d\n", t);
66     }
67     return 0;
68 }

C

D:以前做过类似的题(doge那个…),KMP可以搞,O(n)也可以搞,随意了…… 10min 1A

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <iomanip>
 4 #include <cstring>
 5 #include <climits>
 6 #include <complex>
 7 #include <fstream>
 8 #include <cassert>
 9 #include <cstdio>
10 #include <bitset>
11 #include <vector>
12 #include <deque>
13 #include <queue>
14 #include <stack>
15 #include <ctime>
16 #include <set>
17 #include <map>
18 #include <cmath>
19
20 using namespace std;
21
22 const int maxn = 66666;
23 int na;
24 char a[maxn];
25 char* b = "QAQ";
26 int nb = strlen(b);
27 int pre[maxn];
28
29 void getpre(char *b, int *pre) {
30     int j, k;
31     pre[0] = -1;
32     j = 0;
33     k = -1;
34     while(j < nb) {
35         if(k == -1 || b[j] == b[k]) {
36             j++;
37             k++;
38             pre[j] = k;
39         }
40         else {
41             k = pre[k];
42         }
43     }
44 }
45
46 int kmp() {
47     int ans = 0;
48     int i = 0;
49     int j = 0;
50     while(i < na) {
51         if(j == -1 || a[i] == b[j]) {
52             i++;
53             j++;
54         }
55         else {
56             j = pre[j];
57         }
58         if(j == nb) {
59             ans++;
60         }
61     }
62     return ans;
63 }
64
65 int main() {
66     getpre(b, pre);
67     int T;
68     scanf("%d", &T);
69     while(T--) {
70         memset(a, 0, sizeof(a));
71         scanf("%s", a);
72         na = strlen(a);
73         printf("%d\n", kmp());
74
75     }
76     return 0;
77 }

D

H:四边形对顶角互补,因此任意四边形均可密铺,Q神永远很happy…… ∞min 1A

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <iomanip>
 4 #include <cstring>
 5 #include <climits>
 6 #include <complex>
 7 #include <fstream>
 8 #include <cassert>
 9 #include <cstdio>
10 #include <bitset>
11 #include <vector>
12 #include <deque>
13 #include <queue>
14 #include <stack>
15 #include <ctime>
16 #include <set>
17 #include <map>
18 #include <cmath>
19
20 using namespace std;
21
22 typedef long long LL;
23
24 int main() {
25     int T;
26     LL x1,x2,x3,x4,y1,y2,y3,y4;
27     scanf("%d",&T);
28     while(T--) {
29         scanf("%lld %lld %lld %lld %lld %lld %lld %lld",&x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
30         printf("BQG is happy!\n");
31     }
32     return 0;
33 }

H

下面是理论AK阶段……

E:处理字串,先找一遍数字和匹配一遍"(n"以及"(log"字样,(可以胡来也可以ac自动机),接着把数字处理出来就可以AC啦……

F:嗯…是个数学题,找找规律胡搞一下肯定能过……

G:一定是个贪心+二分……胡搞一定能过……

时间: 2024-11-08 03:32:23

[比赛]2015/12/25BNU新生赛的相关文章

比赛总结之————————————全国新生赛。

——————————————————————————————————————1002———————————————————————————— 投币洗衣机 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 5878 Accepted Submission(s): 1460 Problem Description 如今大学生的生活条件越来越好了,近

广东工业大学2015新生赛round2(//自己脑洞堵了,madan!)

Path:新生赛 A.Number Sequence Description: A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. Given A, B, and n, you are to calculate the value of f(n). Analyse: 自动找周期法. CODE: int main() { int a,b,n;

记TJPUのACM新生赛——Stay young, stay simple

刚看完国家德比来写点什么吧...话说比赛挺无聊,光头也真是命硬. 2016-12-3,12:00-17:00,TJPUのACM新生赛如期举行. 总体来说这次比赛体验还是比我第一次进行5小时比赛的浙江理工大学新生邀请赛要舒服的多(那次浙理工OJ直接爆了...) 然后凭着运气好和各位大佬的不杀之恩混到了第一... 比赛情况大概是上面图片那样,其实写出的题都挺水的,后面的DFS.BFS以及贪心什么的我都没多想...反正不会写. 唯一值得记录的大概是D题,HDOJ上有(5979),是2016ACM/IC

(dp)17bupt新生赛——B. Hmz 的女装

B. Hmz 的女装 2017新生赛 时间限制 1000 ms 内存限制 65536 KB 题目描述 Hmz为了女装,想给自己做一个长度为n的花环.现在有k种花可以选取,且花环上相邻花的种类不能相同.Hmz想知道,如果他要求第l朵花和第r朵花颜色相同,做花环的方案数是多少.这个答案可能会很大,你只要输出答案对109+7取模的结果即可. 输入格式 第一行三个整数n,m,k(1≤n≤100000,1≤m≤100000,1≤k≤100000)接下来m行,每行两个整数l,r,表示要求第l朵花和第r朵花颜

ZSC新生赛 沼跃鱼早已看穿了一切

Description 沼跃鱼打开密码门后发现门后是一个像迷宫一样的房间,墙上的指示牌写着:房间内某处有一宝箱,但是宝箱被上锁了,钥匙在这个房间的某个角落.沼泽鱼对宝箱里有什么很感兴趣,但它必须先去拿到钥匙才可以打开宝箱.然而沼跃鱼早已看穿了一切,它看清了这个房间的布局,现在给出房间的布局图,问沼跃鱼拿到钥匙并打开宝箱最少需要走多少步.沼跃鱼每次只能向上.下.左.右中其中一个方向走一步,但若那个位置是墙时则不能往那个位置走(显然,沼跃鱼不能穿墙). Input 输入的第一行是一个整数T(0<T<

SCNU 2015ACM新生赛决赛【F. Oyk闯机关】解题报告

题目大意:一个$N$$\times$$N$的阵列,每个格子有$X_{ij}$个调和之音,若每次只能选择走右边或下边,从左上角出发走到右下角,问最多能收集到多少个调和之音? 这题是一道很很很简单的DP题,但可能之前没接触过的同学需要一点脑能量去思考..如果用最蠢的办法,循环枚举每种选择,求出最大值的话,由于你总共需要往右走$N-1$次,往下走$N-1$次,路径总长度为$2N-2$,根据组合数学,总共有$C_{2N-2}^{N-1}$种走法,想想$C_{1998}^{999}$会是一个多么可怕的数字

哈理工新生赛热身赛解题报告

本次热身赛6道题目,由于没有官方解题报告,自己写了一个山寨版的解题报告,希望对学弟学妹有所帮助 期中两到签到题该校OJ上没有挂出,我在田大神的帮助下a掉了其它四题,解题报告如下所示 线段 Time Limit: 1000 MS Memory Limit: 32768 K Total Submit: 10(6 users) Total Accepted: 7(6 users) Rating:  Special Judge: No Description 坐标轴上有一些点,依次给出.点与点之间要求用

ZAFU 新生赛题解

一篇迟到的题解,本以为大家兴趣不大,但是有同学问了,本人觉得还是应该写一下. T酱和他的数学题 要求判断末尾有多少个0 我们分析一下就可以知道0只能是来自2 和 5 的乘积. 对于每一个数字我们只需要去判断可以分解出多少个2和5就可以,其中5的出现次数一定会小于2的出现次数. 由于是阶乘的阶乘 所以我们只需要暴力一遍,维护5出现次数的前缀和的前缀和就可以了 1 #include <stdio.h> 2 int cal(int x) 3 { 4     int res = 0; 5     wh

CSU OJ 1112机器人的指令 (湖南省12年省赛题)

 Welcome to CSU Online Judge! 1112: 机器人的指令 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 274  Solved: 97 [Submit][Status][Web Board] Description 数轴原点有一个机器人.该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置. ·LEFT:往左移动一个单位 ·RIGHT: 往右移动一个单位 ·SAME AS i: 和第i 条执行相同的