这个东西好像在搞矩乘的时候用过?忘了

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long LL;
const int mod=; int len;LL zy[],cs[];
void get_zy(LL n)
{
len=;
for(LL i=;i*i<=n;i++)
{
if(n%i==)
{
len++;
zy[len]=i;cs[len]=;
while(n%i==)n/=i,cs[len]++;
}
}
if(n>) len++, zy[len]=n, cs[len]=;
} //--------------------------------- LL quick_power(LL n,int p)
{
LL A=n%mod,ret=;
while(p>)
{
if(p%==)ret=(ret*A)%mod;
A=(A*A)%mod;p/=;
}
return ret;
}
LL fenzi(LL n,int p)
{
if(p==)return ;
if(p%==)
{
return (( fenzi(n,p/-)*(+quick_power(n,p/)) )%mod+quick_power(n,p))%mod;
}
else
{
return ( fenzi(n,p/)*(+quick_power(n,p/+)) )%mod;
}
}
int main()
{
LL n;int p;
while(scanf("%lld%d",&n,&p)!=EOF)
{
get_zy(n); LL ans=;
for(int i=;i<=len;i++)
{
ans=(ans*fenzi(zy[i],cs[i]*p))%mod;
}
printf("%lld\n",ans);
}
return ;
}

poj1845

3889那题太无聊了,题意还贼难理解,YY了下做法,就是很裸分治找在那个位置,维护横纵区间

手工栈太麻烦了,看这题吧bzoj2819Nim 但是好像机友们只传1个参数的搜索也可以

总的来讲没什么意思。

upd:

填坑:poj3889一道分形题,这种通过搜索变量交换进行翻转的题挺好的。反正自己肯定看得懂就不详写了

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long LL; LL Bin[];
void dfs(LL n,LL k,LL &x,LL &y)
{
if(n==)
{
if(k==)x=,y=;
else if(k==)x=,y=;
else if(k==)x=,y=;
else x=,y=;
return ;
} LL d=Bin[n-]*Bin[n-];
if(k<=d)//左上
{
dfs(n-,k,y,x);
}
else if(k<=*d)//右上
{
dfs(n-,k-d,x,y);
y+=Bin[n-];
}
else if(k<=*d)//右下
{
dfs(n-,k-*d,x,y);
x+=Bin[n-];y+=Bin[n-];
}
else//左下
{
dfs(n-,k-*d,y,x);
x=Bin[n]+-x;y=Bin[n-]+-y;
}
} int main()
{
Bin[]=;for(int i=;i<=;i++)Bin[i]=Bin[i-]*2LL;
int T;
scanf("%d",&T);
while(T--)
{
LL n,st,ed;
scanf("%lld%lld%lld",&n,&st,&ed);
LL stx,sty,edx,edy;
dfs(n,st,stx,sty),dfs(n,ed,edx,edy);
printf("%.0lf\n",sqrt(double((stx-edx)*(stx-edx)+(sty-edy)*(sty-edy)))*);
}
return ;
}

poj3889

0x03 递归的更多相关文章

  1. C# TreeGridView 实现进程列表

    效果如图 0x01 获取进程列表,使用Win32Api规避"拒绝访问"异常 public List<AppProcess> GetAppProcesses() { In ...

  2. Java数据结构和算法 - 递归

    三角数字 Q: 什么是三角数字? A: 据说一群在毕达哥拉斯领导下工作的古希腊的数学家,发现了在数学序列1,3,6,10,15,21,……中有一种奇特的联系.这个数列中的第N项是由第N-1项加N得到的 ...

  3. 5-6 c语言之【枚举,联合体,递归】

    今天学习了枚举,联合体,递归,重点在于递归,所以从网上找到了一些递归的题目进行练习,毕竟程序员界流传一句话,会用循环的是人,会用递归的是神,哈哈哈 还是按次序进行梳理,第一个枚举,枚举和宏定义很相似, ...

  4. .NET 基础 一步步 一幕幕[面向对象之方法、方法的重载、方法的重写、方法的递归]

    方法.方法的重载.方法的重写.方法的递归 方法: 将一堆代码进行重用的一种机制. 语法: [访问修饰符] 返回类型 <方法名>(参数列表){ 方法主体: } 返回值类型:如果不需要写返回值 ...

  5. 算法笔记_013:汉诺塔问题(Java递归法和非递归法)

    目录 1 问题描述 2 解决方案  2.1 递归法 2.2 非递归法 1 问题描述 Simulate the movement of the Towers of Hanoi Puzzle; Bonus ...

  6. Android 算法 关于递归和二分法的小算法

     // 1. 实现一个函数,在一个有序整型数组中二分查找出指定的值,找到则返回该值的位置,找不到返回 -1. package demo; public class Mytest { public st ...

  7. 二叉树的递归实现(java)

    这里演示的二叉树为3层. 递归实现,先构造出一个root节点,先判断左子节点是否为空,为空则构造左子节点,否则进入下一步判断右子节点是否为空,为空则构造右子节点. 利用层数控制迭代次数. 依次递归第二 ...

  8. 递归实现n(经典的8皇后问题)皇后的问题

    问题描述:八皇后问题是一个以国际象棋为背景的问题:如何能够在8×8的国际象棋棋盘上放置八个皇后, 使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行.纵行或斜线上 ...

  9. C语言用分别用递归和循环求数字的阶乘的方法

    以下代码均为 自己 实现,嘻嘻! 参考文章:http://blog.csdn.net/talk_8/article/details/46289683 循环法 int CalFactorial(int ...

随机推荐

  1. 乐字节-Java8核心特性实战-接口默认方法

    JAVA8已经发布很久,是自java5(2004年发布)之后Oracle发布的最重要的一个版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性,对于国内外互联网公司来说,Java8是以后技术 ...

  2. 使用数组实现ArrayList的效果

    package day04.d2.shuzu; /** * 通过数组实现类似于集合的功能 * 包含功能有: * * 动态添加元素 * 在指定位置添加元素 * * 删除指定下标的元素 * 删除指定内容的 ...

  3. css relative设置top为百分比值

    前言: 最近在学习HTML.CSS的过程中,想模仿一下百度首页.发现搜索框这一部分与上下其它元素的空白距离可以随着窗口大小变化(效果如下图所示),于是自己研究了一下并记录下来. 效果实现 <!D ...

  4. 4185 Oil Skimming 最大匹配 奇偶建图

    题目大意: 统计相邻(上下左右)的‘#’的对数. 解法: 与题目hdu1507 Uncle Tom's Inherited Land*类似,需要用奇偶建图.就是行+列为奇数的作为X集合,偶尔作为Y集合 ...

  5. CBIR--Survey.C/GPU优化.Sys搭建

    一:CBIR综述:转自于wiki:http://zh.wikipedia.org/wiki/CBIR 参考链接:http://blog.csdn.net/kezunhai/article/detail ...

  6. 动漫绘画软件优动漫PAINT最近所用文件

    在使用优动漫PAINT的时候有时候会遇到这样的问题,近期编辑的文件找不见了,或者想要接着之前的文件进行编辑,如何快速找到这些文件呢?其实在最近所用文件中一目了,本文我们一起来看看. 如果您想接着上次未 ...

  7. JS 100内与7相关的数

    var s =""; for(var i=0;i;i++) { if(i%7 == 0 ){ s += i+","; } else if((i-7)%10 == ...

  8. 初级模拟电路:1-2 PN结与二极管

    回到目录 1.   掺杂半导体 上面我们分析了本征半导体的导电情况,但由于本征半导体的导电能力很低,没什么太大用处.所以,一般我们会对本征半导体材料进行掺杂,即使只添加了千分之一的杂质,也足以改变半导 ...

  9. win10更新后程序路径盘符变成*星号解决方法

    发现这个问题是当我在命令行里输入java -version时提示 找不到*:\Program Files\Java...之类的 怎么好好的D:\Program Files\Java变成了*:\Prog ...

  10. 【JavaScript框架封装】数据类型检测模块功能封装

    数据类型检测封装后的最终模块代码如下: /*数据类型检验*/ xframe.extend(xframe, { // 鸭子类型(duck typing)如果它走起路来像鸭子,叫起来也是鸭子,那么它就是鸭 ...