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

#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. Spring《七》ApplicationContext

    1.国际化支持 getMessage()提供了国际化支持. Bean中必须定义为messageSource. <bean id="messageSource" class=& ...

  2. Nginx介绍及知识点(摘抄)

    正向代理是把自己的网络环境切换成代理的网络 反向代理是代理机器返回给我要我的资源 本文借鉴参考于http://tengine.taobao.org/book/chapter_02.html. 属于纯干 ...

  3. Spring @Scheduled 注解 定时器例子

    <!--xmlns 多加下面的内容--> xmlns:task="http://www.springframework.org/schema/task" <!-- ...

  4. C# 学习笔记_类

    定义:将成员及方法封装到类中,类的实例则称为对象. 结构:属性,类修饰符,class,类名,{类体} 类修饰符:new,public,protected,internal,private,abstra ...

  5. 暴雪的hash算法[翻译]

    原文来自:http://sfsrealm.hopto.org/inside_mopaq/chapter2.htm#hashes 促进历史进步的大多数契机都是在解决特定问题的过程中产生的,本文讨论一下M ...

  6. 编译OpenCV遇到Qmake问题

    1.Ubuntu安装OpenCv,出现:qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or ...

  7. deeplearning4j – 分布式DL开源项目

    原文链接:http://www.52ml.net/16157.html Deeplearning4j is the first commercial-grade deep learning libra ...

  8. spring过滤器篇

    CharacterEncodingFilter spring的web包下的一个过滤器,用于设置程序的字符编码,它有两个参数encoding和forceEncoding. encoding:字符集,将过 ...

  9. 优动漫PAINT漫画和插画方面软件特色

    优动漫PAINT也就是我们常说的clip studio paint(CSP)的中文版本,它是一款功能强大的漫画.插画绘制软件,它搭载了绘制漫画和插画所需的所有功能,包括丰富的笔工具.超强的笔压感应和手 ...

  10. CentOS 7添加开机启动服务/脚本

    一.添加开机自启服务 在CentOS 7中添加开机自启服务非常方便,只需要两条命令(以 jenkins 为例):systemctl enable jenkins.service #设置jenkins服 ...