
算法
normol
先做人,后做事。
展开
-
HDOJ acm 1022 火车进站出站(栈系列)
#include#include#includeusing namespace std;int main(){ int n; while (cin >> n) { bool flag = false; char* pin = new char[5*n]; char* pout = new char[5*n]; int* data = new int[5*n];原创 2016-10-10 20:41:53 · 2205 阅读 · 0 评论 -
回溯法 数独问题(sudoku) python
def print_grid(arr): for i in range(9): for j in range(9): # 注意,在py3.x中,print函数默认都有换行 print(arr[i][j], end="") print()# 找出目前没有被赋值的位置,若全部都被填满,则返回Falsedef fi原创 2017-11-27 22:46:54 · 4901 阅读 · 1 评论 -
回溯法 普通01背包问题
普通01背包问题与01背包问题的差别在于, 必须要求放进背包的物品总重量,恰好等于背包容量, 而不是求最优public class Bags01 { static int[] m=new int[]{1,3,5,7,9};//物品重量 static int[] now=new int[]{0,0,0,0,0};//记录是否取某个物品 static int sum=0;//解原创 2017-11-30 09:33:31 · 525 阅读 · 0 评论 -
回溯法 01背包问题 剪枝
背包问题涉及的是子集树,层数即物品的数量, 每个物品有选和不选两种选择,即每个节点有左子树(选)和右子树(不选) 而恰当的剪枝函数体现在对待右子树上, 因为右子树至少是不选1个了,因此很有可能出现以下情况: 剩下的所有物品价值加起来还没有目前为止的maxvalue大 当这种情况出现时,就可以剪枝了,避免不必要的查找。package niuke;/** * Created by asus原创 2017-11-29 22:36:20 · 5435 阅读 · 0 评论 -
回溯法 n皇后 python 解法二
普通的用二维数组解决这儿采用一维数组,即行数作为index,而列数代表array[index]输出所有的解global N # 皇后个数# global x # 当前解 list类型不需要声明为全局变量!global SUM # 当前已找到的可行方案数N = 4# x = [0 for i in range(N)]SUM = 0def print_solution(x):原创 2017-11-28 15:32:27 · 3058 阅读 · 0 评论 -
回溯法 n皇后 python 解法一
输出所有解global NN = 4def printSolution(board): for i in range(N): for j in range(N): print(board[i][j], end="") print() print()def isSafe(board, row, col): for i原创 2017-11-28 14:32:57 · 4569 阅读 · 0 评论 -
knn算法实例(python)
参考地址(里面有解释和原数据)import csvimport randomimport mathimport operatordef loadDataset(filename,split,trainingSet=[],testSet=[]): # 注意这儿加上'b'模式会出错,因为csv文件与普通文件不一样 with open(filename, 'r') as csvfil原创 2017-11-17 21:33:23 · 1321 阅读 · 1 评论 -
HDJacm 1282 回文数猜想
#includeusing namespace std;int reverse(int num){ int temp=0; while (num){ temp += num % 10; if (num/10) temp = temp * 10; num = num/10; } return temp;}int main(){ int count,k; long原创 2016-10-01 15:25:46 · 701 阅读 · 0 评论 -
HDJacm 1276士兵队列的训练问题 错误总结
#includeusing namespace std;int main(){ int person[5005]={0}; int n; cin >> n; while (n--){ int num,numtemp,i; cin >> num; numtemp = num; for ( i = 0; i < num; i++){ person[i] = i原创 2016-10-01 14:29:05 · 399 阅读 · 0 评论