随笔分类 - 常用代码块
摘要:就,用二进制位运算 1 int fastPower(int base, int exponent) { 2 int sum = 1; 3 while (exponent != 0) { 4 if ((exponent & 1) != 0) { 5 sum *= base; 6 } 7 exponen
阅读全文
摘要:国庆节好忙啊, 而且由于某些不可避免的原因俺又咕咕咕咕了 约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。 首先A开始
阅读全文
摘要:(补充点基础,,,,,,) int gcd(int a,int b) { return a%b?gcd(b,a%b):b; }
阅读全文
摘要:cin.get(); fflush(stdin);
阅读全文
摘要:注: 顶上那个check()是判断是否满足题意 其实如果是不重复的元素的话,直接用next_permulation函数就好的 记忆一下: 先写一个for(需要注意范围) 然后两个交换 在两个交换之间整一个回溯 最顶上写递归边界.
阅读全文
摘要:1 int gcd(long a,long b){//条件a>b 2 if(b==0)return a; 3 return gcd(b,a%b); 4 }
阅读全文
摘要:1 //快速幂运算 2 long power_n(int n,int b){//n^b 3 long res=1;//注意是等于1 4 while(b>0){ 5 if(b&1)//取幂数的最后一位 6 res*=n; 7 b>>=1;//右移一位 8 n=n*n;//加权 9 10 } 11 re
阅读全文