from:http://www.cnblogs.com/icyJ/archive/2013/02/20/HasFlag.html 在权限的管理中,常常会出现一个权限包含的现象.例如,有三种基本权限:职员A.职员B.职员C.在此基础上,有经理权限,它包括A和B两种权限:还有老板权限,包含A/B/C三种权限. 在代码中,我们可以用枚举来管理这些权限. [Flags]  << ,     B =  << ,     C =  << ,     Manager = A | B,…
先列出题目: 1.POJ 1753 POJ 1753  Flip Game:http://poj.org/problem?id=1753 Sample Input bwwb bbwb bwwb bwww Sample Output 4 入手竟然没有思路,感觉有很多很多种情况需要考虑,也只能使用枚举方法才能解决了吧~ 4x4的数组来进行数据存储的话操作起来肯定非常不方便,这里借用位压缩的方法来存储状态,使用移位来标识每一个位置的的上下左右的位置操作. 详细看这里. 1.当棋盘状态id为0(全白)或…
UPD 2018.3.30 这个好像就是更相减损术的样子emmm UPD 2018.5.22 好像不是更相减损术而是叫Stein算法的样子emmm 蒟蒻来做个二进制GCD笔记. 为什么要写这个东西呢,因为按照ysy神犇在这次luogu夏令营的说法,常数会小很多. 我再查了一下(ysy神犇没说实现啊orz),这玩意的原理说起来大概是这样的: 因为普通的辗转相除法求gcd需要用到取模,所以常数比较慢. 我们使用另一种算法: 求gcd(a,b).有三种情况: 1.a,b为偶数,则gcd(a,b)=2*…
算法总结之欧拉函数&中国剩余定理 1.欧拉函数 概念:在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目. 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn)  其中p1, p2……pn为x的所有质因数,x是不为0的整数 注意: 1) φ(1)=1. 2)每种质因数只一个.比如12=2*2*3那么φ(12)=12*(1-1/2)*(1-1/3)=4 3)若n是质数p的k次幂,φ(n)=p^k-p^(k-1)=(p-1)p^(k…
蓝桥杯 算法提高 11-1实现strcmp函数 (JAVA方法) 首先这不是一个多难的题,但是网上的我没怎么找到有Java的代码,基本全都是c语言的,小编是个小白,如果有不对的地方请联系小编 问题描述 自己实现一个比较字符串大小的函数,也即实现strcmp函数.函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2.若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1.具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比…
/* 二进制求最大公约数.由于传统的GCD,使用了%,在计算机运行过程中要花费大量的时间,所以,采取二进制的求法,来减少时间的消耗. 算法: 当a,b都是偶数时: gcd(a,b)=2*gcd(a/2,b/2);当a,b一奇一偶时: if(a&1) gcd(a,b)=gcd(a,b/2);                  else    gcd(a,b)=gcd(a/2,b);当a,b都是奇数时:  if(a>b)                     gcd(a,b)=gcd( (a-…
枚举法:效率低,循环所有的情况,找到正确答案 用于解决数学问题,还是很简单的. 比如,奥数里面: 算 法 描 述 题X题=题题题题题题 其中 算法描述题每一个为一个数字,请写出正确的数字. ok,我们用枚举法去找出正确的答案 /** * Created by Administrator on 2017/10/19. */ fun main(args: Array<String>) { var suan:Int var fa:Int var miao:Int var shu:Int var ti…
枚举法的本质就是从全部候选答案中去搜索正确的解,使用该算法须要满足两个条件: 1.能够先确定候选答案的数量. 2.候选答案的范围在求解之前必须是一个确定的集合. 枚举是最简单.最基础.也是最没效率的算法 枚举法长处: 1.枚举有超级无敌准确性.仅仅要时间足够.正确的枚举得出的结论是绝对正确的. 2.枚举拥有天下第一全面性,由于它是对全部方案的全面搜索.所以,它可以得出全部的解. 程序优化: 对于枚举算法,加强约束条件,缩小枚举的范围.是程序优化的主要考虑方向. 实例1:百钱买百鸡 一百个铜钱买了…
总时间限制: 1000ms 内存限制: 65536kB 描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 我们以Z字形给上表的每一项编号.第一项是1/1,然后是1/2,2/1,3/1,2/2,- 给定N,求第N项. 输入 一个整数N(1≤N≤10000000). 输出 一个分数,即表中的第N项. 样例输入 7 样例输出 1/4 来源 NOIP1999复赛 普及组 第一题 参考代码: #include<bits/stdc++.h>…
目录 1.15 Counterfeit Dollarhttp://noi.openjudge.cn/ch0201/15/ 2.1749 数字方格…