【code】
zhrthegreat
这个作者很懒,什么都没留下…
展开
-
棋盘问题(POJ 1321)
在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放 k 个棋子的所有可行的摆放方案数目 C。输入格式输入含有多组测试数据。每组数据的第一行是两个正整数 n,k,用一个空格隔开,表示了将在一个 n∗n 的矩阵内描述棋盘,以及摆放棋子的数目。当为-1 -1时表示输入结束。随后...原创 2020-03-16 20:20:57 · 631 阅读 · 0 评论 -
Educational Codeforces Round 83 (Rated for Div. 2)
A. Two Regular Polygons思路:题目给出正多变形的边数,要求判断后者能否内接前者;实质是图形的内接条件,对应角成比例可以转化为对应边成比例,即判断前者是否为后者的倍数即可;代码:#include<iostream>using namespace std;int main(){ int n,m,k; cin>>k; while(k-...原创 2020-03-14 20:35:02 · 600 阅读 · 0 评论 -
Codeforces Round #626 (Div. 2)
A 、Even Subset Sum Problem思路:题目要求判断子集是否能构成偶数,满足存在偶数或至少两个奇数即可;最后输出前1~2个数,而非随意输出;原代码:#include<iostream>using namespace std;const int N = 105;int arr[N];int n,m;int main(){ cin >&g...原创 2020-03-14 20:24:15 · 632 阅读 · 0 评论 -
约数之和
假设现在有两个自然数A和B,S是AB的所有约数之和。请你求出S mod 9901的值是多少。输入格式在一行中输入用空格隔开的两个整数A和B。输出格式输出一个整数,代表S mod 9901的值。数据范围0≤A,B≤5×107输入样例:2 3输出样例:15注意: A和B不会同时为0。思路:数学知识是关键质因数分解,就是将一个数分解成为 p1c1 ×p2c2×…...原创 2020-03-04 22:18:01 · 703 阅读 · 0 评论 -
奇怪的汉诺塔
汉诺塔问题,条件如下:1、这里有A、B、C和D四座塔。2、这里有n个圆盘,n的数量是恒定的。3、每个圆盘的尺寸都不相同。4、所有的圆盘在开始时都堆叠在塔A上,且圆盘尺寸从塔顶到塔底逐渐增大。5、我们需要将所有的圆盘都从塔A转移到塔D上。6、每次可以移动一个圆盘,当塔为空塔或者塔顶圆盘尺寸大于被移动圆盘时,可将圆盘移至这座塔上。请你求出将所有圆盘从塔A移动到塔D,所需的最小移动次数是多...原创 2020-03-04 19:18:54 · 890 阅读 · 0 评论 -
费解的开关
你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。我们用数字“1”表示一盏开着的灯,用数字“0”表示关着的灯。下面这种状态1011101101101111000011011在改变了最左上角的灯的状态后将变成:...原创 2020-03-03 20:56:16 · 694 阅读 · 0 评论 -
《算法竞赛进阶指南》题集
一、基本算法(一)位运算1.a^b2.64位整数乘法3.最短Hamilton路径(二)递推与递归1.递归实现指数型枚举2.递归实现组合型枚举3.递归实现排列型枚举...原创 2020-03-02 22:06:10 · 968 阅读 · 0 评论 -
递归实现排列型枚举
把 1~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数n。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1思路:...原创 2020-03-02 21:58:42 · 649 阅读 · 0 评论 -
递归实现组合型枚举
从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。输入格式两个整数 n,m ,在同一行用空格隔开。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行内的数升序排列,相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 3 5 7排在1 3 6 8前面)。数据范围n>0 ,0≤m≤n ,n+(n...原创 2020-03-02 21:31:40 · 671 阅读 · 0 评论 -
递归实现指数型枚举
从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3思路...原创 2020-03-02 19:47:24 · 683 阅读 · 0 评论 -
最短Hamilton路径
给定一张 n 个点的带权无向图,点从 0~n-1 标号,求起点 0 到终点 n-1 的最短Hamilton路径。 Hamilton路径的定义是从 0 到 n-1 不重不漏地经过每个点恰好一次。输入格式第一行输入整数n。接下来n行每行n个整数,其中第i行第j个整数表示点i到j的距离(记为a[i,j])。对于任意的x,y,z,数据保证 a[x,x]=0,a[x,y]=a[y,x] 并且 a[x...原创 2020-02-21 09:10:52 · 654 阅读 · 0 评论 -
64位整数乘法
求 a 乘 b 对 p 取模的值。输入格式第一行输入整数a,第二行输入整数b,第三行输入整数p。输出格式输出一个整数,表示a*b mod p的值。数据范围1≤a,b,p≤1018输入样例:345输出样例:2思路:参考 a^b题(此题的唯一区别在于实质上是加分运算,a^b是乘法运算)代码:#include<iostream>using na...原创 2020-02-20 19:17:49 · 624 阅读 · 0 评论 -
a^b
《算法竞赛进阶指南》 — 基本算法 — 位运算原创 2020-02-20 19:07:48 · 670 阅读 · 0 评论