随笔分类 - Algorithm and Data Structure
摘要:最大和 ★ 输入文件:maxsum.in 输出文件:maxsum.out 简单对比时间限制:1 s 内存限制:128 MB【题目描述】 N个数围成一圈,要求从中选择若干个连续的数(注意每个数最多只能选一次)加起来,问能形成的最大的和。 【输入格式】 第一行输入N,表示数字的个数,第二行输入这N个数字
阅读全文
摘要:题目描述 津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20\%20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈
阅读全文
摘要:问题链接:CCF201612试题。 .对n个数进行排序,找出中间那个数,然后将中间那个数的左右与其相等的数去掉,看左右剩下的数个数是否相等,如果相等则中间那个数就是答案,否在输出-1。 问题描述 问题描述 试题编号: 201612-1 试题名称: 中间数 时间限制: 1.0s 内存限制: 256.0
阅读全文
摘要:枚举算法的思想例题 solution1:小Hi和小Ho的礼物 hihoCoder #1505题:小Hi和小Ho的礼物 http://hihocoder.com/problemset/problem/1505 solution2:互补二元组 解法 双指针 解决以下代码:引入第二个下标J来降低复杂度 1
阅读全文
摘要:枚举算法的思想例题 solution0: solution1: 思路1:由于要求最大值直接逆向枚举即可:最大的是9876543210,最小的是题目中给的1026753849。然后我们去判断是不是恰好包含0~9十个数字。再判断是不是完全平方数 1 static void solution1(){ 2
阅读全文
摘要:理论 C++ 中的next_permutation 一般作为正序全排列的使用规则,其实这个就是正序字典排序的实现。 比如我们要对 列表 [1,2,3] 做full permutation 一般使用递归实现 如下, 下面对字典排序规则说一下 (1)从后往前遍历,找到第一个逆序,比如1,2,4,3 的2
阅读全文
摘要:概述: 一个例子说明问题: 反幻方 我国古籍很早就记载着 2 9 47 5 36 1 8 这是一个三阶幻方。每行每列以及对角线上的数字相加都相等。 下面考虑一个相反的问题。可不可以用 1~9 的数字填入九宫格。使得:每行每列每个对角线上的数字和都互不相等呢? 这应该能做到。比如:9 1 28 4 3
阅读全文
摘要:概述 解决这个两个问题:一般性可以相互转换,把不定方程寻找特殊解转为一般性整数方程 ,或者说把分数化为一般的代数式子。 如 要解4x+5y=7 这个方程 之所以叫特殊解,是因为范围确定性有影响,需要根据你你需要的范围进行求解
阅读全文
摘要:引述: 使用位运算的两个优点 : 简单,效率高(计算机底层) 简单记忆 : 清零取反用与,位置一用或 ,交换用疑惑 参考: "url" 1.获得int型最大值 获得long最小值,和其他类型的最大值,最小值同理. 4.乘以2运算 6.乘以2的m次方 8.判断一个数的奇偶性 9. swap 疑惑实现
阅读全文
摘要:C++中rand() 函数的用法 1、rand()不需要参数,它会返回一个从0到最大随机数的任意整数,最大随机数的大小通常是固定的一个大整数。 2、如果你要产生0~99这100个整数中的一个随机整数,可以表达为:int num = rand() % 100; 这样,num的值就是一个0~99中的一个
阅读全文
摘要:枚举全排列 include include include using namespace std; int main() { int num1,num2,A,B,C,D,E; for(num1=1023;num1 规则: 利用局部最优解 加起来求总的 全局最优解是贪心法的主要规则 例: 在 5 6
阅读全文
摘要:概述 分数类在算法中非常重要, 而在java中不那么重要,java基础类库提供 了biginteger了,提供类似方式,
阅读全文
摘要:概述 一般图形输出无法就是用循环输出 ,提前构造好图形。 两种方式 模拟法直接输出 二维数组 构造输出 题目地址:http://lx.lanqiao.cn/problem.page?gpid=T7 代码 解法一 直接输出 模拟法 include include include include inc
阅读全文
摘要:16转10 用竖式计算: 16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方 代码 include include using namespace std; int main() { string s; while(cin s){ int length=s
阅读全文
摘要:尾递归wiki解释如下: 尾部递归是一种编程技巧。递归函数是指一些会在函数内调用自己的函数,如果在递归函数中,递归调用返回的结果总被直接返回,则称为尾部递归。尾部递归的函数有助将算法转化成函数编程语言,而且从编译器角度来说,亦容易优化成为普通循环。这是因为从电脑的基本面来说,所有的循环都是利用重复移
阅读全文
摘要:什么是求素数 )i在2到n 1之间任取一个数,如果n能被整除则不是素数,否则就是素数 普通枚举法:
阅读全文

浙公网安备 33010602011771号