HDU 2886 Lou 1 Zhuang
思维好重要。。
对于n+m == k , 当n == m || abs(n-m) == 1 时n*m取得最大值。
设 s = x*(l-x),s = lx-x^2.其导函数为 s‘ = -1/2x + l。显然 s 在 x == l/2处取得最大值。
则对于k分解成若干个数,则最后有若干个3和若干个2。
又有,三个2换成两个3。和不变积增大。
所以最后最多之会有两个2,剩下的由3组成。
则题目变成了 求3^m。
- #include <iostream>
- #include <algorithm>
- #include <cstdlib>
- #include <cstdio>
- #include <cstring>
- #include <queue>
- #include <cmath>
- #include <stack>
- #include <map>
- #pragma comment(linker, "/STACK:1024000000");
- #define EPS (1e-8)
- #define LL long long
- #define ULL unsigned long long int
- #define _LL __int64
- #define _INF 0x3f3f3f3f
- #define Mod 1000000007
- #define LM(a,b) (((ULL)(a))<<(b))
- #define RM(a,b) (((ULL)(a))>>(b))
- using namespace std;
- map<int,int> Max;
- int Cal(int x,int n)
- {
- if(n == 1)
- return x;
- if(n == 2)
- return x*x;
- if(Max.find(n) == Max.end())
- {
- if(n&1)
- {
- int t1 = Cal(x,n/2);
- int t2 = Cal(x,n/2 + 1);
- t1 = t1*t2;
- t1 %= 2009;
- Max.insert(pair<int,int>(n,t1));
- return t1;
- }
- else
- {
- int t1 = Cal(x,n/2);
- t1 = t1*t1;
- t1 %= 2009;
- Max.insert(pair<int,int>(n,t1));
- return t1;
- }
- }
- return Max[n];
- }
- int main()
- {
- int n;
- while(scanf("%d",&n) != EOF)
- {
- if(n <= 4)
- {
- printf("%d\n",n);
- }
- else
- {
- if(n%3 == 0)
- {
- printf("%d\n",Cal(3,n/3)%2009);
- }
- else if(n%3 == 2)
- {
- printf("%d\n",(Cal(3,n/3)*2)%2009);
- }
- else
- {
- printf("%d\n",(Cal(3,n/3 - 1)*4)%2009);
- }
- }
- }
- return 0;
- }
HDU 2886 Lou 1 Zhuang的更多相关文章
- hdu2886 Lou 1 Zhuang 数学/快速幂
All members of Hulafly love playing the famous network game called 'Lou 1 Zhuang' so much that Super ...
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- ZOJ 2562 HDU 4228 反素数
反素数: 对于不论什么正整数x,起约数的个数记做g(x).比如g(1)=1,g(6)=4. 假设某个正整数x满足:对于随意i(0<i<x),都有g(i)<g(x),则称x为反素数. ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- HDU 4006The kth great number(K大数 +小顶堆)
The kth great number Time Limit:1000MS Memory Limit:65768KB 64bit IO Format:%I64d & %I64 ...
- HDU 1796How many integers can you find(容斥原理)
How many integers can you find Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d ...
随机推荐
- html5播放m3u8视频,web端看直播
https://github.com/jiqing9006/hLive <!DOCTYPE html> <html> <head> <meta charset ...
- http --- 从输入URL到页面加载的过程发生了什么?
可以分为这几个大的过程: DNS解析 TCP连接 客户端发送HTTP请求 服务器处理请求并返回HTTP报文 浏览器解析渲染页面 结束 其中(1)DNS解析可以理解为主寻找这个IP地址的过程,其中如果找 ...
- Random numbers
Most computer programs do the same thing every time they execute, given the same inputs, so they are ...
- hbase伪分布安装配置
hbase1.2.4 伪分布式安装 注意:在安装hbase或者hadoop的时候,要注意hadoop和hbase的对应关系.如果版本不对应可能造成系统的不稳定和一些其他的问题.在hbase的lib ...
- NSURLSession的作用
NSURLSession的作用: 1.全局配置: 2.任务生成与管理: 3.数据链接管理: po self.urlSession.delegateQueue.operations <__NSAr ...
- 去除input的前后的空格
这里用的是jquery的方法
- ajax+h5实现文件上传,成功即显示缩略图。
官方参考文档: http://fex.baidu.com/webuploader/ 文件下载地址: https://github.com/fex-team/webuploader/releases/d ...
- Rman备份异机恢复
最后更新时间:2018/12/29 前置条件 已准备一台安装好Centos6+oracle11gr2 软件的服务器; 只安装了 oracle 数据库软件,需要手工创建以下目录: #环境变量 expor ...
- LNMP安装部署开源IP管理工具phpipam
1.数据库 mariadb 安装 //依赖安装 yum install -y apr* autoconf automake bison bzip2 bzip2* compat* \ cpp curl ...
- 移动端(手机端)页面自适应解决方案—rem布局篇
移动端(手机端)页面自适应解决方案-rem布局 假设设计妹妹给我们的设计稿尺寸为750 * 1340.结合网易.淘宝移动端首页html元素上的动态font-size属性.设计稿尺寸.前端与设计之间协作 ...