随笔分类 - 递归与递推
摘要:Googol字符串 “0/1字符串”是一个字符串,其中每个字符都是 0或 1。 有两个操作可以在 0/1字符串上执行: switch:把 1都变为 0,0都变为 1。例如,100 变为 011。 reverse:字符串反转。 例如,100 变为 001。 考虑这个 0/1 字符串的无限序列: S0=
阅读全文
摘要:点击查看代码 #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
阅读全文
摘要:简单斐波那契 以下数列 0 1 1 2 3 5 8 13 21... 被称为斐波纳契数列。 这个数列从第 项开始,每一项都等于前两项之和。 输入一个整数 ,请你输出这个序列的前 项。 输入格式 一个整数 。 输出格式 在一行中输出斐波那契数列的前 项,数字之间用空格隔
阅读全文
摘要:递归实现组合型枚举 从 1∼n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。 输入格式 两个整数 n,m ,在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行内的数升序排列,相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比
阅读全文
摘要:谁作案了? 问题描述: 某地刑侦大队对涉及6个嫌疑人的一桩疑案进行分析: 至少1个人作案; A、E、F这3个人中至少2个人参与作案; A、D不可能是同案犯; C或B同时作案,或都与本案无关; C、D中有且仅有1个人作案; 如果D没有参与作案,则E也不可能参与作案 请找出作案人。 思路 推理已知正确答
阅读全文
摘要:递归实现排列型枚举 把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式 一个整数 n。 输出格式 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。 数据范围 1≤
阅读全文
摘要:递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数 n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间
阅读全文