Good Serial Inc.比较简单;

#include<cstdio>
#include<cstring>
#include<algorithm>
#define maxn 1000009
#define ll long long
using namespace std;
const ll mod=;
ll f[maxn]; int main()
{
ll n,m;
f[]=;
for(ll i=;i<maxn-;i++)
{
f[i]=f[i-]*i;
if(f[i]>mod)f[i]%=mod;
}
while(scanf("%lld%lld",&n,&m)&&(n+m)>)
{
ll ans=;
if(n<m||m==||m==)
{
while(n>)
{
if(n&)ans*=m;
if(ans>mod)ans%=mod;
n>>=;
m*=m;
if(m>mod)m%=mod;
}
}
else
{
ans=f[m]+m;
if(ans>mod)ans%=mod;
}
printf("%lld\n",ans);
}
return ;
}

Bad Serial Inc.稍微复杂点,但是还是比较好理解的;

dp[i][j]表示长度为i的数组最后j位相同的数目;

#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#define maxn 109
#define ll long long
#define mod 987654321
using namespace std; ll dp[maxn][]; int main()
{
ll n,m;
while(scanf("%lld%lld",&n,&m)&&(n+m)>)
{
if(m==){puts("");continue;}
if(m==)
{
if(n==)puts("");
else puts("");
continue;
}
memset(dp,,sizeof dp);
dp[][]=m;
for(int i=;i<=n;i++)
{
for(int j=;j<m;j++)
{
if(dp[i][j]>mod)dp[i][j]%=mod;
dp[i+][j+]+=dp[i][j]*(m-j);//后一位与前j位都不相同
for(int k=;k<=j;k++)
dp[i+][k]+=dp[i][j];//后一位与前j位的某一位相同
if(j>||i==)
{
for(int k=;k<m-;k++)
dp[i+k][]+=dp[i][j];//连续多少位相同
}
}
}
ll ans=;
for(int i=;i<m;i++)
ans+=dp[n][i];
cout<<ans%mod<<endl;
}
return ;
}

hdu 3481 3482的更多相关文章

  1. Hsql中In没有1000的限制

    SELECT * FROM user , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ...

  2. 基于json的jquery地区联动探索

    贴一个基于jquery联动的代码,相信这样的代码有一大把,就当是jquery的练手吧, 写这个东西的初衷是来之于新浪微博,在新浪微博帐号设置里面有个地区的选项,使用js写的,想把它的代码给截获下来,可 ...

  3. jqu

    1 /*2 * 说明:3 * 本源代码的中文注释乃Auscarlin呕心沥血所作.旨在促进jQuery的传播以及向广大jQuery爱好者提供一个进阶4 *的途径,以让各位更加深入地了解jQuery,学 ...

  4. 7.12归来赛_B

    Prime Judge 时间限制 1000 ms 内存限制 65536 KB 题目描写叙述 众所周知.假设一个正整数仅仅能被1和自身整除,那么该数被称为素数.题目的任务非常easy.就是判定一个数是否 ...

  5. 《学习bash》笔记--进程处理

    1.进程ID和作业编号  当通过附加&号后执行命令时.shell会响应例如以下: $ ls & [1] 3318 当中[1]是作业号,3318是进程号. 一个后台进程完毕时.shell ...

  6. 游戏中的自动寻路-A*算法(第一版优化——走斜线篇)

    一.简述以及地图 G 表示从起点移动到网格上指定方格的移动距离 (暂时不考虑沿斜向移动,只考虑上下左右移动). H 表示从指定的方格移动到终点的预计移动距离,只计算直线距离,走直角篇走的是直角路线. ...

  7. POJ 3481 &amp; HDU 1908 Double Queue (map运用)

    题目链接: PKU:http://poj.org/problem?id=3481 HDU:http://acm.hdu.edu.cn/showproblem.php?pid=1908 Descript ...

  8. HDU 5643 King's Game 打表

    King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...

  9. HDU 5643 King's Game 【约瑟夫环】

    题意: 变形的约瑟夫环,最初为每个人编号1到n,第i次删去报号为i的人,然后从它的下一个人开始重新从1开始报号,问最终剩下第几号人? 分析: 首先看一下裸的约瑟夫环问题: 共n个人,从1开始报数,报到 ...

随机推荐

  1. Struts2的工作流程

    Struts2如何实现MVC Struts2的参数封装: Struts2的运行原理图:

  2. Android 四大组件之Acticity

    什么是Activity? Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastRe ...

  3. let 与 expr Shell运算比较 let强强胜出

    Shell脚本中 整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 s 加 1 可以写作:let "s = $s + 1" 或者 s=`expr $s + 1'两 ...

  4. Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务

    The command chkconfig is no longer available in Ubuntu.The equivalent command to chkconfig is update ...

  5. C#程序员整理的Unity 3D笔记(十):Unity3D的位移、旋转的3D数学模型

    遇到一个想做的功能,但是实现不了,核心原因是因为对U3D的3D数学概念没有灵活吃透.故再次系统学习之—第三次学习3D数学. 本次,希望实现的功能很简单: 如在小地图中,希望可以动态画出Player当前 ...

  6. 第8条:覆盖equals时遵守通用约定

    如果不需要覆盖equals方法,那么就无需担心覆盖equals方法导致的错误. 什么时候不需要覆盖equals方法? 1.类的每个实例本质上是唯一的. 例如对于Thread,Object提供的equa ...

  7. ssh: connect to host xxx.xxx.xxx.xxx port 22: Connection refused

    工具/原料:Ubuntu 在采用scp在不同机器之间进行文件拷贝时出现标题所示的错误,原因可能是: 1.sshd 未启动 2.sshd 未安装 3.防火墙 4需重新启动ssh 服务 查看sshd进程方 ...

  8. USB初始化

    //USB初始化void CFileManagerDlg::usbinit(){ #define BUFFER_SIZE 64 struct usb_bus *bus; struct usb_devi ...

  9. 用Objective-C的foundation框架解决表达式求值问题

    主要思想: 本程序分2个类 一个是ExpressionString类,主要用于存储表达式以及对它进行求值.以下是该类中的内容: (NSString *)expString//用于存储要计算的表达式: ...

  10. 让c像python一样可以在命令行写代码并且编译

    在你亲爱的.bashrc/.zshrc中添加 ###C###go_libs="-lm"go_flags="-g -Wall -include allheads.h -O3 ...