<题目链接> 题目大意:用k种颜色对n个珠子构成的环上色,旋转、翻转后相同的只算一种,求不等价的着色方案数。 解题分析: 对于这种等价计数问题,可以用polay定理来解决,本题是一道polay定理的模板题。 具体polay定理的实现步骤如下(选自算法入门经典训练指南 147页): 2018-08-1 ...
分类:
其他好文 时间:
2018-08-11 20:51:05
阅读次数:
160
算法入门经典 P57 把前n(n<=100000)个整数顺序写在一起,123456789...数一数0-9各出现多少次。 #include<stdio.h>#include<string.h>#include "stdafx.h"#include "iostream" #include <strin ...
分类:
其他好文 时间:
2018-06-27 18:52:42
阅读次数:
145
方法一:增量构造法 理解递归必须得理解函数到底是做什么的。 方法二:位向量法 枚举每一位选或者不选,复杂度比方法一略高但更好理解,因为与输出全排列思路差不多,满n位就输出。 缺点是输出不是按照字典序。 方法三:二进制法 稍加思考就会发现,方法二其实与二进制是对应的。 这个方法优点就是代码简单。 注意 ...
分类:
编程语言 时间:
2017-12-31 12:56:41
阅读次数:
203
输入一棵二叉树的先序遍历和中序遍历,输出它的后序遍历序列。 运行如图 目前还有一些细节没有懂,不过不影响我仍然喜欢学习的心情~ ...
分类:
编程语言 时间:
2017-11-11 13:19:06
阅读次数:
147
实际上回溯法有暴力破解的意思在里面,解决一个问题,一路走到底,路无法通,返回寻找另 一条路。 回溯法可以解决很多的问题,如:N皇后问题和迷宫问题。 一.概念 回溯算法实际类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现不满足条件的时候,就回溯返回,尝试别的路径。 百度解释:回溯法( ...
分类:
编程语言 时间:
2017-09-11 00:49:35
阅读次数:
186
[UVa120] Stacks of Flapjacks 算法入门经典第8章8-1 (P236) 题目大意:有一个序列,可以翻转[1,k],构造一种方案使得序列升序排列。 试题分析:从插入排序即可找到思路。每次我们优先地将没有到自己位置上的、最大的数挪到自己的位置上。 为什么可以这样做呢?难道不会改 ...
分类:
其他好文 时间:
2017-09-10 21:48:07
阅读次数:
154
[UVa1471] Defense Lines 算法入门经典第8章8-8 (P242) 题目大意:将一个序列删去一个连续子序列,问最长的严格上升子序列 (N<=200000) 试题分析:算法1:直接暴力,对于一个删除序列,枚举头和尾,然后看最长上升子序列。时间复杂度:O(N^3) 算法2:L[i]表 ...
分类:
其他好文 时间:
2017-09-10 19:44:54
阅读次数:
114
原本利用回溯思想解决的经典八皇后问题,其实也是可以用递归解决的~ 八皇后的递归解决思路: 从第一行开始,依次判断0~8列的哪一列可以放置Queen,这样就确定了该行的Queen的位置,然后行数递增,继而递归实现下一行的判断,依次类推直到行数增加到8(行数从0开始的),此时为递归 归的条件,即表示一种 ...
分类:
编程语言 时间:
2017-09-08 01:27:07
阅读次数:
284