随笔分类 -  递归与递推

摘要:Googol字符串 “0/1字符串”是一个字符串,其中每个字符都是 0或 1。 有两个操作可以在 0/1字符串上执行: switch:把 1都变为 0,0都变为 1。例如,100 变为 011。 reverse:字符串反转。 例如,100 变为 001。 考虑这个 0/1 字符串的无限序列: S0= 阅读全文
posted @ 2023-03-07 13:12 Keith- 阅读(32) 评论(0) 推荐(0) 编辑
摘要:点击查看代码 #include<stdio.h> typedef long long LL; const int N = 1e6 + 10; LL f[N]; void init(){ f[1] = 1;f[2] = 2;f[3] = 3; for(int i = 4; i < N; i ++ )f 阅读全文
posted @ 2023-01-03 16:31 Keith- 阅读(22) 评论(0) 推荐(0) 编辑
摘要:简单斐波那契 以下数列 0 1 1 2 3 5 8 13 21... 被称为斐波纳契数列。 这个数列从第 3 项开始,每一项都等于前两项之和。 输入一个整数 N,请你输出这个序列的前 N 项。 输入格式 一个整数 N。 输出格式 在一行中输出斐波那契数列的前N项,数字之间用空格隔 阅读全文
posted @ 2022-12-08 22:54 Keith- 阅读(29) 评论(0) 推荐(0) 编辑
摘要:带分数 100 可以表示为带分数的形式:100=3+ 69258714 还可以表示为:100=82+ 3546197 注意特征:带分数中,数字 19 分别出现且只出现一次(不包含 0)。 类似这样的带分数,10011 阅读全文
posted @ 2022-12-08 22:30 Keith- 阅读(264) 评论(0) 推荐(0) 编辑
摘要:递归实现组合型枚举 从 1∼n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。 输入格式 两个整数 n,m ,在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行内的数升序排列,相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比 阅读全文
posted @ 2022-12-07 00:08 Keith- 阅读(53) 评论(0) 推荐(0) 编辑
摘要:谁作案了? 问题描述: 某地刑侦大队对涉及6个嫌疑人的一桩疑案进行分析: 至少1个人作案; A、E、F这3个人中至少2个人参与作案; A、D不可能是同案犯; C或B同时作案,或都与本案无关; C、D中有且仅有1个人作案; 如果D没有参与作案,则E也不可能参与作案 请找出作案人。 思路 推理已知正确答 阅读全文
posted @ 2022-12-06 22:16 Keith- 阅读(54) 评论(1) 推荐(0) 编辑
摘要:递归实现排列型枚举 把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式 一个整数 n。 输出格式 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。 数据范围 1≤ 阅读全文
posted @ 2022-12-06 21:05 Keith- 阅读(47) 评论(0) 推荐(0) 编辑
摘要:递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数 n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间 阅读全文
posted @ 2022-12-06 11:57 Keith- 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示