算法竞赛进阶指南
算法竞赛进阶指南
摸鱼的nuan
这个作者很懒,什么都没留下…
展开
-
谜题java
import java.util.Scanner;public class Main { static char a[][]; public static void main(String[] args) { Scanner sc=new Scanner(System.in); a=new char[5][5]; String cmd=""; int T=1;//记录第几轮 int line=0;//记录每一轮输入矩阵的行数 int flag=0;//命令合法flag=0原创 2021-10-10 21:06:00 · 49 阅读 · 0 评论 -
算法竞赛进阶指南0x00基本算法 0x02递推与递归 例题递归实现排列型枚举
题目把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数 n。输出格式按照从小到大的顺序输出所有方案,每行 1 个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤9输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1import java.util.Arrays;import java.util.Scanner;public原创 2021-08-02 22:56:26 · 270 阅读 · 0 评论 -
算法竞赛进阶指南0x00基本算法 0x02递推与递归 例题递归实现指数型枚举
题目从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3// A code blockvar foo = 'bar';import java.util.Sca原创 2021-08-02 21:53:46 · 127 阅读 · 0 评论 -
算法竞赛进阶指南0x00基本算法 0x02递推与递归 例题递归实现组合型枚举
题目从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入格式输入一个整数 n。输出格式每行输出一种方案。同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。对于没有选任何数的方案,输出空行。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。数据范围1≤n≤15输入样例:3输出样例:322 311 31 21 2 3n最大为15 state是由15位二进制数构成看做15个二进制位,只有两种情况,选这一位(即1),不选这原创 2021-08-02 19:12:27 · 81 阅读 · 0 评论 -
算法竞赛进阶指南0x00基本算法 0x01位运算 例题起床困难综合征
题目21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。通过研究相关文献,他找到了该病的发病原因: 在深邃的太平洋海底中,出现了一条名为 drd 的巨龙,它掌握着睡眠之精髓,能随意延长大家的睡眠时间。正是由于 drd 的活动,起床困难综合症愈演愈烈, 以惊人的速度在世界上传播。为了彻底消灭这种病,atm 决定前往海底,消灭这条恶龙。历经千辛万苦,atm 终于来到了 drd 所在的地方,准备与其展原创 2021-08-02 18:19:38 · 366 阅读 · 0 评论 -
算法竞赛进阶指南0x00基本算法 0x01位运算 笔记
成对变换0,12,34,56,70 ^ 1=1 , 1 ^ 1=06 ^ 1=7 , 7 ^ 1=6每一个数和1异或,可以得到和自己配对的另一个数在图论中最小费用流,会存正向边和反向边,需要快速算出反向边把他们放在一个容器中正向边,反向边0 12 34 56 7正向边e[index]可直接索引到反向边,即e[index^1]lowbit运算树状数组lowbit(111001000) = 1000取反 000110111取反+原创 2021-08-02 18:08:02 · 244 阅读 · 0 评论 -
算法竞赛进阶指南0x00基本算法 0x01位运算 例题最短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,y]+a[y,z]≥a[x,z]。输出格式输出一个整数,表示最短原创 2021-08-02 16:31:22 · 125 阅读 · 0 评论 -
算法竞赛进阶指南0x00基本算法 0x01位运算 例题a*b%p
题目求 a 乘 b 对 p 取模的值。输入格式第一行输入整数a,第二行输入整数b,第三行输入整数p。输出格式输出一个整数,表示a*b mod p的值。数据范围1≤a,b,p≤1018输入样例:345输出样例:2import java.util.Scanner;public class Main {public static void main(String[] args) { Scanner sc=new Scanner(System.in); long a=sc.原创 2021-08-01 18:40:38 · 102 阅读 · 0 评论 -
算法竞赛进阶指南0x00基本算法 0x01位运算 例题a^b
题目求 a 的 b 次方对 p 取模的值。输入格式三个整数 a,b,p ,在同一行用空格隔开。输出格式输出一个整数,表示a^b mod p的值。数据范围0≤a,b≤10^91≤p≤10^9输入样例:3 2 7输出样例:2public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=sc.nextInt(); int p=sc.原创 2021-08-01 17:49:26 · 73 阅读 · 0 评论