题目名称 | 最佳贪污 | 转置!转置!不择手段地转置! | 学习?不可能! |
---|---|---|---|
题目类型 | 传统题 | 传统题 | 传统题 |
题目目录 | corruption | transposition | slack_off |
源程序文件名 | corruption.cpp | transposition.cpp | slack_off.cpp |
输入文件名 | corruption.in | transposition.in | slack_off.in |
输出文件名 | corruption.out | transposition.out | slack_off.out |
时间限制 | 2000ms | 666ms | 1000ms |
内存限制 | 512MiB | 512MiB | 512MiB |
提交文件限制 | 100KiB | 100KiB | 100KiB |
数据组数 | 50 | 20 | 20 |
满分分数 | 100 | 100 | 100 |
所有文件名均保证为小写(友情提示:请格外注意文件名)。
C++ 中 main()
函数返回值必须为 int
且为
C++ 编译器开启 C++14 标准及 O2 优化。
提交的程序源文件需独立文件夹。
结果比较方式为全文比较(忽略行末空格及行尾回车)。
程序可使用的栈空间限制与对应题目内存限制一致。
评测采用机器配置为:11th Gen Intel(R) Core(TM) i5-11320H @ 3.20GHz。注意:测评将在 Linux 虚拟机中进行,配置会有部分降低,对于造成影响的题目会增加部分时限测评将在 Windows 下进行,若使用到了 Linux 特性请提前告知。
编译选项为:g++ -o sample sample.cpp -lm -Wl,--stack=2147483647 -std=c++14 -O2
。
对于本地 Linux 环境下调试时,可以添加编译选项:-fsanitize=undefined,signed-integer-overflow,address
以检测未定义行为、整数溢出,地址越界等问题。
对于提答题请将 .out 为扩展名的文件统一放到子目录下。
作为🐔🌲🌲🌲省最大的建筑承包商,tsawke 近日接到了 6Bit 的修建地铁的任务,tsawke 自然得到了大量的资金,但是 tsawke 不知道如何修建才能在完成最基础的任务(否则 tsawke 就要进🍊了)的前提下尽可能地贪污掉更多的💴,于是他来寻求聪明的你的帮助。
特别地,对于 tsawke 来讲,地铁轨道的长度并不会影响价格,因为他可以通过在换乘站将乘客打晕然后搬到下一个换乘站来模拟地铁的过程,所以你只需要尽可能地使 tsawke 可以更少地修建地铁换乘站。
在地铁网络中我们认为有多条线路,当两条线路有交点时我们认为交点处必须修建且仅修建一个地铁换乘站。
特别地,保证没有线路是环线的,也没有线路与自身相交,亦没有线路存在重合的部分,具体地,对于如下四种情况都是显然不存在的:
但是此时 tsawke 经过实地勘察发现了一些事实,即有一部分换乘站已经被修建好了,具体地,对于已经存在的地铁
现在 tsawke 想请聪明的你帮忙规划一下如何设置剩下所有线路的路径才能使得按照要求而建造的换乘站最少。
tsawke 可以根据你给出的结果推演出方案,所以你只需输出最小值即可。
存在多组数据。
第一行一个正整数
对于每组测试数据:
第一行一个整数
接下来一行
对于每组数据,输出一行一个整数表示最小值。
对于
具体地,对于每个测试点的范围如下表所示:
xxxxxxxxxx
914
24
31 2 1 2
48
51 2 3 4 1 2 3 4
65
75 4 3 3 5
88
91 2 3 4 1 3 2 4
xxxxxxxxxx
410
20
30
41
见下发文件中 /corruption/*
。
对于样例
威慑纪元
作为执剑人的你,已经再次与三体人对峙了六十多年,你本以为这样的生活将一直持续到生命的终结,你本以为超过
通过这六十年的发展,你可以得到精确到毫秒级的攻击确切发生时间,而你的使命,便是在攻击发生前进行黑暗森林打击,同时毁掉两个文明的未来。
但为了防止误操作触发黑暗森林威慑,威慑系统的启动需要你完成一个显然的计算,即矩阵的转置,你只有在规定的时空限制下完成这个计算,才能成功除法引力波威慑系统,为人类争取最后数十年的生活。
具体地,你将被给定
特别地,你将被给定
特别地,对于矩阵的转置,可以认为其是将整个矩阵按其补齐的正方形的主对角线进行对称。或者说将整个矩阵的行列互换,即原矩阵的第一列作为转置矩阵的第一行,原矩阵的第二列作为转置矩阵的第二行,以此类推。则不难发现对于
第一行一个整数
接下来
共
注意答案需对
对于
对于
对于
对于
xxxxxxxxxx
312
21 1
32 2
xxxxxxxxxx
211
26
数据范围等同
见下发文件中 /transposition/transposition2.in
,/transposition/transposition2.ans
。
数据范围等同
见下发文件中 /transposition/transposition3.in
,/transposition/transposition3.ans
。
数据范围等同
见下发文件中 /transposition/transposition4.in
,/transposition/transposition4.ans
。
数据范围等同
对于本题请使用较快的读入,这里提供一份可能需要的快读:
xxxxxxxxxx
151template < typename T = int >
2inline T read(void){
3 T ret(0);
4 int flag(1);
5 char c = getchar();
6 while(c != '-' && !isdigit(c))c = getchar();
7 if(c == '-')flag = -1, c = getchar();
8 while(isdigit(c)){
9 ret *= 10;
10 ret += int(c - '0');
11 c = getchar();
12 }
13 ret *= flag;
14 return ret;
15}
可以通过 read()
读入并返回一个 int
类型数,或 read < long long >()
返回 long long
类型。
tsawke 不喜欢在家玩游戏,相比而言 tsawke 更喜欢在 jdfz 的机房中在 6Bit 旁边玩游戏,他认为这样才足够刺激,而他又不想被 6Bit 发现,tsawke 不知道该如何是好,请你帮帮他。
tsawke 存在一个隐蔽度,初始为
刷题,会使得隐蔽度
划水,会使得隐蔽度
发呆,隐蔽度无变化。
在整个过程中的任意时刻,若 tsawke 的隐蔽度低于
而 tsawke 又觉得过于这过于无聊,他希望在这
tsawke 想让你告诉他共有多少种合法方案,答案对
第一行两个整数三个整数,分别表示
一行一个整数表示方案数(对
对于
对于
对于
对于
对于
xxxxxxxxxx
115 3 998244353
xxxxxxxxxx
116
xxxxxxxxxx
11114 99 998244353
xxxxxxxxxx
11540295960
xxxxxxxxxx
11114514 111111 998244353
xxxxxxxxxx
11166683273
xxxxxxxxxx
118888888 6666666 2000000659
xxxxxxxxxx
111321092738