0

加粗的已做
标号 标题 通过数 提交数 通过率
7-1 Alice’s XOR 3 4 0.75
7-2 Building Roads 4 17 0.24
7-3 Celebration 1 1 1.00
7-4 Dungeon 4 13 0.31
7-5 Exercise 4 18 0.22

7-6 FCT 0 0 0.00
7-7 Great ZUST 1 1 1.00
7-8 Happy Children’s Day 0 0 0.00
7-9 It’s a warm problem 0 0 0.00


7-2开始炸longlong,但是仍然不知道比较函数哪里炸了
7-5的多重背包开始当成贪心写了,,仍然没看懂题目的那个边界,只能缩小到两种情况试出来。
7-4最开始少了个特判,仍然不知道n/m == 1与n==m有什么区别

7-2

7-2 Building Roads
在遥远的星球上,有一个叫做佩尔王国的古老国度。

佩尔王国有 n 个主要城市(从 1 开始编号),第 i 个城市有 P
​i
​​ 个居民。

P
​i
​​ 代表佩尔数列的第 i 项,定义佩尔数列 : P
​0
​​ =0,P
​1
​​ =1,P
​i
​​ =2×P
​i−1
​​ +P
​i−2
​​ (i≥2)

佩尔国王想要在这 n 个城市间修建高速公路,广泛征集意见后,佩尔王国的子民们提出了 m 个方案,第 i 个方案是建造一条 u
​i
​​ 城市与 v
​i
​​ 城市之间的(无向)高速公路,建造这条高速公路将会提高 P
​u
​i
​​
​​ +P
​v
​i
​​
​​ 的便捷度。

国王想要在其中选择尽可能少的方案使得:

1.在这些方案实施后,这 n 个城市之间是连通的( i.e. 任意两个城市之间都可以通过高速公路到达)。

2.最大化方案所带来的便捷度。

3.在最大化便捷度的前提下,由于国王的特殊癖好,他希望这些城市的最大度数与最小度数的差值 D 最大 (假设 di 是第 i 个城市的度数,
D=
​1≤i≤n
​max
​​ d
​i
​​ −
​1≤i≤n
​min
​​ d
​i
​​ ),一个城市的度数定义为与这个城市直接相连的高速公路数量。

gxy作为国王最为看重的谋士,自然承担了替国王选择方案的重任,机智的gxy很快就算出了可选方案的最大便捷度,但是他急切得想要知道在方案实施后城市的 D 的最大值是多少,聪明的你能帮助他吗?

若不存在合法选择,输出 −1。

输入格式:
输入第一行给出两个整数 n,m (2≤n≤10
​5
​​ ,1≤m≤2×10
​5
​​ )
接下来的 m 行,每行两个整数 u
​i
​​ ,v
​i
​​ (1≤u
​i
​​ ,v
​i
​​ ≤n,u
​i
​​ ≠v
​i
​​ )

输出格式:
输出一个整数代表方案实施后城市的 D 的最大值,若不存在合法选择则输出 −1 。

输入样例1:
5 6
2 1
2 4
1 3
3 4
4 5
1 5
输出样例1:
2
输入样例2:
3 1
1 2
输出样例2:
-1

#include<bits/stdc++.h>
using namespace std;
const int maxn = 2e5+10;
int p[maxn], in[maxn];
struct edge{//ACint u, v, w;bool operator < (const edge &B)const{if (max(u, v) != max(B.u, B.v)) return max(u, v) > max(B.u, B.v);return min(u, v) > min(B.u, B.v);}
}e[maxn];
bool cmp(edge a, edge b){//WAif(max(a.u,a.v)!=max(b.u,b.v))max(a.u,a.v)>max(b.u,b.v);return min(a.u,a.v)>min(b.u,b.v);
};int fa[maxn];
int find(int x){return x==fa[x]?x:fa[x] = find(fa[x]);
}
void merge(int x, int y){x=find(x), y=find(y);if(x!=y)fa[x] = y;
}int main(){ios::sync_with_stdio(false);int n, m;  cin>>n>>m;p[0] = 0; p[1] = 1;fa[1] = 1;for(int i = 2; i <= n; i++){//p[i] = 2*p[i-1]+p[i-2]; //llfa[i] = i;}for(int i = 1; i <= m; i++){cin>>e[i].u>>e[i].v;//int u, v;  cin>>u>>v;//e[i].u = min(u,v);//e[i].v = max(u,v);//e[i].w = p[e[i].u]+p[e[i].v];}sort(e+1,e+m+1);int cc = 1;int mx = 0, mi = 1e9+10;for(int i = 1; i <= m; i++){if(find(e[i].u)!=find(e[i].v)){merge(e[i].u, e[i].v);cc++;in[e[i].u]++;in[e[i].v]++;mx = max(mx, in[e[i].u]);mx = max(mx, in[e[i].v]);mi = min(mi, in[e[i].u]);mi = min(mi, in[e[i].v]);}}if(cc!=n){cout<<"-1";return 0;}if(n==1)cout<<"0\n";else cout<<mx-mi<<"\n";return 0;
}

7-3

7-3 Celebration
1980年10月9日,沐浴着改革开放的春风,浙江科技学院的前身浙江大学附属杭州工业专科学校应运而生。50载春秋,学校传承浙大血脉,允迪前踪,鉴往开来。升格更名、迁扩校区、提升内涵,既繁既苦、克艰克难、奋进不止。今日浙科,强化应用型办学,彰显国际化特色,力争成为浙江省乃至全国应用型大学之标杆。

海纳百川,特色迥出。50载春秋,学校延鉴德国学脉,以中德省州合作、两国政府级合作为基,强“德”字高端平台,拓法、美、澳、罗等诸国合作,育百余国来华学子。中德合作枝脉郁郁,国际化办学特色煌煌。今日浙科,为浙江省乃至全国对德教育、科技、文化交流与合作的重要窗口,列中国大学国际化竞争力百强。

砺行锵锵,春华秋实。50载春秋,学校深融浙江地脉,高举应用型大旗,一以贯之育一流应用型人才,不拘一格汇一流应用型师资,顶天立地建一流应用型学科,持之以恒逐一流应用型科技创新,桃李芬芳,硕果累累。今日浙科,承国家项目,建省部平台,高水平成果层出不穷,千余教师于地方经济社会主战场策马扬鞭,奋楫笃行,数万海内外学子在各行各业栋梁是举,藻绘江山。

请问还有多少天是浙江科技学院50周年校庆?

输入描述:
(no input)

输出描述:
输出一行包含一个整数表示答案。

样例输入:
(no input)
样例输出:
(no output)
提示:
2021-05-23到2021-05-24算经过一天

#include<bits/stdc++.h>
using namespace std;
int main(){cout<<"3426\n";return 0;
}

7-4

7-4 Dungeon
lx是集训队中codeforces黄名大佬,他总喜欢出题来迫害其他人,尤其是喜欢迫害gxy。有一次他准备出x道不同类型的题来检验一下现在集训队队员的水平,顺便找工具人来帮他验题。因为gxy是个菜鸡,很多题他都不会写,于是就和lx大佬讲道理。lx大佬说不过他,就制定了下面的规则:

1.每人只能在x题中Ban一道自己不喜欢的题(被Ban的题不会被分配到Ban这题的人);

2.lx知道每个人Ban的题后,把n位集训队队员平均分成m组,进行PK;

3.保证每一组做的是同一道题(不同组之间可能做同一道题)。

因为lx忙于打副本,没有时间来出很多题。请问他最少要准备多少题来满足这次比赛?

image-20210427163617801.png

输入描述:
输入第一行是一个整数T(1≤T≤10
​3
​​ ),表示有T组测试实例。

每组输入一行,包含两个空格分隔的正整数n和m(1≤n,m≤10
​5
​​ ,n能被m整除)。

输出描述:
对于每组输入,输出一行包含一个整数的答案。

样例输入:
1
4 2
样例输出:
3

//WA
#include<bits/stdc++.h>
using namespace std;
int main(){int T;  cin>>T;while(T--){int n, m;  cin>>n>>m;int num = n/m;if(num==1){ cout<<2<<"\n"; continue;}if(num==n){ cout<<n+1<<"\n"; continue;}cout<<3<<"\n";}return 0;
}
//AC
#include<bits/stdc++.h>
using namespace std;
int main(){int T;  cin>>T;while(T--){int n, m;  cin>>n>>m;if(m==n){ cout<<2<<"\n"; continue;}if(m==1){ cout<<n+1<<"\n"; continue;}cout<<3<<"\n";}return 0;
}

7-5

7-5 Exercise
lx大哥沉迷于RPG游戏。为了能和lx大哥一起玩游戏打副本,gxy每天做日常、打怪、氪金。有一次lx大哥打副本三缺一,gxy自告奋勇。lx大哥就想测测gxy真实的战斗力,于是就让他到训练场中测试一下伤害。

已知gxy学会了 n 个技能,他的的MP值(又叫能量值,蓝)为 m 。每个技能释放需要消耗 a 点蓝,cd(技能的冷却时间,即使用一个技能之后,都需要经过一小段时间后才能继续使用)为 b 秒,会造成 c 的伤害。请问gxy在 t s中打出的最高伤害为多少?

Note:假设技能不需要读秒(吟唱时间为无穷小 ),技能之间是独立的,互不共享cd。在游戏开始时技能不处于cd中

image-20210514132007331.png

输入描述:
第一行包括整数n,m,t 。

接下来 n 行每行包含三个整数 a ,b,c 。

输出描述:
输出一个整数,表示在规定时间内打出的最高伤害。

数据范围:
0<n≤1000, 0<m≤2000, 0<t≤100, 0<a≤2000, 0<b≤100, 0<c≤1000

样例输入:
2 5 6
2 2 2
1 3 10
样例输出:
22

#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e6+10;
int v[maxn], w[maxn], tot;
int f[maxn];
int main(){int n, m, t;  cin>>n>>m>>t;for(int i = 1; i <= n; i++){int a, b, c;  cin>>a>>b>>c; //b = t/b;  if(b==0)b = 1;b = (t-1)/b+1;while(b--){ v[++tot] = a;  w[tot] = c;}}for(int i = 1; i <= tot; i++)for(int j = m; j >= v[i]; j--)f[j] = max(f[j], f[j-v[i]]+w[i]);cout<<f[m]<<"\n";return 0;
}

7-7

7-7 Great ZUST
给定一个只有小写字母的字符串s,求从s中最多能提取多少"zust"(即求s中形如"zust"的子序列的最大个数),每个位置只能被使用一次。

输入格式:
第一行一个数字 t(1≤t≤30000) ——数据的组数

在接下来的 t 行中,每行有一个字符串 s(1≤∣s∣≤200000)

保证数据中所有字符串长度总和不超过 200000

输出格式:
对于每个字符串,输出最大能提取的子序列的数量

输入样例:
4
zustzust
zzuusstt
zzust
terraria
输出样例:
2
2
1
0

#include<bits/stdc++.h>
using namespace std;
const int maxn = 200010;
int UST[maxn], ST[maxn], T[maxn];
int main(){int _T;  cin>>_T; //cin.get();while(_T--){string a; //getline(cin,a);cin>>a;for(int i = a.size(); i >= 0; i--){UST[i] = ST[i] = T[i] = 0;}int ans = 0;for(int i = a.size()-1; i >= 0; i--){T[i] = T[i+1]; ST[i] = ST[i+1]; UST[i] = UST[i+1];if(a[i]=='t')T[i]++;if(a[i]=='s'){if(T[i]){ST[i]++;T[i]--;}}if(a[i]=='u'){if(ST[i]){UST[i]++;ST[i]--;}}if(a[i]=='z'){if(UST[i]){ans++;UST[i]--;}}}cout<<ans<<"\n";}
}

2021 ZUST,XCPC选拔赛相关推荐

  1. 2021财院ACM选拔赛题解

    本题解只是参考答案,思路并不唯一!!! A题 存款利息 方法一 本题主要考察循环语句,题目较为简单,直接看代码 C语言 #include <stdio.h> int main() {dou ...

  2. 1985年全国计算机编程大赛,关于举办2021年“中国高校计算机大赛-团体程序设计天梯赛”校内选拔赛的通知...

    程序设计能力是大学生利用计算机分析问题.解决问题的重要基础能力.为了推进该能力的培养,同时培养学生的团队合作精神,提高其综合素质,丰富校园学术气氛,促进校际交流,提高全国高校程序设计课程教学水平,教育 ...

  3. CSUST 2021银川选拔赛

    CSUST 2021银川选拔赛 A.查询区间众数出现次数 B.PC玩游戏 C.PC买礼物 D.game E.median F.重建网络 G.最大得分 H.PC要出题 良心场,jio得应该会有人ak. ...

  4. 报名通知 | 2021全国新职业技能大赛BIM技术员项目重庆市选拔赛开启

    今年8月,人社部发布<人力资源社会保障部关于举办全国新职业技术技能大赛的通知>(人社部函[2021]110号),明确指出:将于2021年11月-12月,在杭州举办全国新职业技术技能大赛. ...

  5. 由筑智建提供技术支持的“2021年全国新职业技能大赛建筑信息模型技术员项目重庆市选拔赛”成功举行

    10月16日-17日,"2021年全国新职业技能大赛建筑信息模型技术员项目重庆市选拔赛"在重庆建筑技师学院成功举办,本次比赛共有来自16所院校/单位的32位选手同台竞技. 本次比赛 ...

  6. SWPU 2021年团队程序设计天梯赛选拔赛 题解

    补题场链接:https://pintia.cn/problem-sets/1373141720280027136 本次选拔赛除后三题以外,其余的题目难度都不是很大,简单筛选一下大家的基础.请大家这段时 ...

  7. ZUST蓝桥杯校内选拔赛(java,c)安吉校区

    序(暂存) 蓝桥杯分为校内模拟赛(10题)->省赛(6题)->国赛(6题)三场 按照难度分为A组(重点),B组(本科)和C组(专科) 按照类型分为软件组(C,Java,Python)和电子 ...

  8. 训练日记 | 2021.03.21 | 天梯赛选拔赛

    选拔赛用的是 第十八届浙大城院程设竞赛 A - Genshin and KFC 直接输出 B - Codeforces 题意:判断段位有没有改变,如果有就输出"(原段位 to 现段位)&qu ...

  9. 2021中国大学生程序设计竞赛部分题解(CCPC)- 网络选拔赛(重赛)

    文章目录 一.1002 Kanade Doesn't Want to Learn CG 二.1004 Primality Test 三.1005 Monopoly 四.1006 Nun Heh Heh ...

最新文章

  1. 简单示例,VS2019调试C语言程序
  2. Pytorch和Numpy的默认类型
  3. 14.refresh操作
  4. 编程使用资源文件实现多语言页面(In Action)
  5. python直方图均衡_Python实现图像直方图均衡化算法
  6. 二.Windows I/O模型之异步选择(WSAAsyncSelect)模型
  7. MCPTAM标定部分 运行结果
  8. Android 桌面组件【widget】初探
  9. 【kindeditor】kindeditor的使用
  10. Leetcode之字符串转换整数
  11. 惊!使用nw.js将vue项目打包为可在xp系统运行的桌面程序
  12. 如何给下属布置工作?多人团队便签来帮你有效布置任务
  13. 计算机的网关地址是什么,什么是网关 网关地址是什么
  14. Confluence 7.2 宏乱码解决办法
  15. 特斯拉4D成像毫米波雷达与木牛科技早期开源的产品几乎一模一样?
  16. 【ybt高效进阶1-5-2】【luogu P3456】山峰和山谷 / GRZ-Ridges and Valleys
  17. 分享:用Python语言轻松实现二代身份证阅读器(读卡器)自动读卡,支持定制开发
  18. 自定义TextView支持第三方字体库(以隶书为例)
  19. 基于ISOMAP算法实现测地线的绘制
  20. tomcat重启机制

热门文章

  1. 标准模板库(STL) map —— 初始化问题
  2. 博弈论 —— 公有知识与共同知识
  3. 强悍的 vim —— 删除空行、删除注释以及加注释解注释
  4. c语言创建线程代码,如何用C语言实现多线程
  5. ibm v7000配置文档_IBM_V7000底层结构及服务器数据恢复案例详解
  6. Oracle临时库数据数据量过大,Oracle临时表空间过大问题解决
  7. python能做什么-Python到底能做什么?
  8. python工资一般多少西安-Python面试经验分享——西安贝业思数据
  9. 怎么自学python-如何学习好Python这门课程?老男孩Python培训全套视频
  10. python基础教程免费视频-零基础小白python从入门到精通视频(全60集)