
数学问题
Wayward:)
此人貌似不太懒,写了点东西~
展开
-
子集生成(子集树+递归回溯)
文章目录1.问题定义2. 增量构造法3. 位向量法3. 二进制法1.问题定义给定一个集合,枚举所有可能的子集,为了简单起见,假设集合中的元素不重复。则 nnn 个元素的集合会有 2n2^n2n 个子集,而且不相同。下列算法均以生成 {1,2,…,n}的子集为例。2. 增量构造法void subset1(int* A, int n,int cur) { /* n为原集合的元素个数,cur...原创 2019-10-17 19:44:46 · 1249 阅读 · 0 评论 -
集合元素全排列的生成(排列树+递归回溯)
文章目录1. 问题定义2. 递归生成1~n的排列3. 复杂度分析4. 排列树(解答树)5.可重集的全排列6. STL中的下一个排列函数1. 问题定义输入整数n,按照字典序从小到大输出前n个数得到所有排列。即若n=3,则有全排列 {123,132,213,231,312,321}\{123,132,213,231,312,321\}{123,132,213,231,312,321}。或者输...原创 2019-10-17 14:35:51 · 2358 阅读 · 1 评论 -
(UVA 202) Repeating Decimals(除法模拟+哈希映射)
原题:https://vjudge.net/problem/UVA-202题目大意题目分析手动模拟除法运算:先输出整数部分,然后a变成余数*10,用数组ans记录下小数的商,建立哈希表,初始值为-1将此时的余数a的位置用哈希表记录下来(位置从0开始,0表示整数位值,从1开始便是小数位的商)然后继续计算a / b,将商压入ans,如果余数出现过,即哈希表的值不为-1,表示开始出现循环...原创 2019-10-06 19:32:02 · 262 阅读 · 0 评论 -
(UVa 136) Ugly Numbers(丑数的生成+整数分解定理+优先队列)
原题:https://vjudge.net/problem/UVA-136题目大意题目分析先介绍整数的唯一分解定理:即:任意大于1的正整数都可以唯一分解成若干素数的乘积。而本题的素数因子只能是2,3,5,所以抽数必定是如下形式:x=2p∗3q∗5rx = 2^p* 3^q*5^rx=2p∗3q∗5r,其中 p,q,r为非负整数p,q,r为非负整数p,q,r为非负整数。所以,我们...原创 2019-10-08 22:42:36 · 367 阅读 · 0 评论 -
实现大整数类别(C++)
使用数组来实现非负大整数类,即每WIDTH位数字保存成数组中的一个元素。/* 实现大整数类 */#include<vector>#include<string>#include<stdio.h>#include<algorithm>#include<iostream>using namespace std;struct...原创 2019-10-09 12:08:11 · 1036 阅读 · 0 评论