原题链接

就大概说的是一个将军要给部下发勋章,他的部下以和别人不一样的勋章为荣,但是他没这么多钱,所以问你最少要多少钱

要求是每个人的上司是他的上两级,他的下两级是他的部下,每个人的勋章不能和他的上司和部下的勋章一样,也不能和他同源的同等级军人一样。

最开始写的时候理解错题意以为全部部下都不能一样就不停的错。。。。后来用google重新看了一遍题emmmmmm

就找规律就好了 一个  n叉树    其实每次不用考虑上下两层就光考虑下面两层就行了

举个例子 :当他是二叉树的时候,前三层就是题中给的不会有重的,但是当他到第4层的时候,4的同级是5但是第四层不是6了是1,因为1不在下两层出现过,继续第五层的时候,第四层的同级却不能是2或3,因为在下两层有这几个数所以继续往上找6,第五层因为下面没有2,3出现所以是2,第六层4又出现了 所以就循环找到规律了。

当他是3叉或4叉的时候同理。

多写几组

代码 很丑

#include <cstdlib>
#include <cstdio>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cmath>
#include <stack>
#include <map>
#include <queue>
#define mod 10000000
using namespace std;
typedef long long LL;
LL sum[], a, b, c, d, n, m, i, j, ans, op[], d1;
int main()
{
scanf("%lld", &n);
sum[] = ;
op[] = ;
for (i = ; i <= ; i++)
{
sum[i] = (sum[i - ] + i) % mod;
switch (i % )
{
case :
case :
op[i] = op[i - ] + i % ;
break;
case :
op[i] = op[i - ] + ;
}
op[i] %= mod;
}
while (n--)
{
scanf("%lld%lld", &a, &b);
if (b == )
{
printf("%lld\n", op[a] % mod);
}
else
{
for (i = ; i <= && i <= a; i++)
{
if (i == )
ans = , d = ;
else
{
if (i == )
ans = sum[b + ], d = b + ;
else
{
if (i % == )
ans = (((ans % mod) * (b % mod)) % mod + (d + ) % mod) % mod, d += ;
else
{
ans = (((ans % mod) * (b) % mod) % mod + ((sum[b - ] + d) % mod + b) % mod) % mod, d += b;
}
}
}
ans %= mod;
d %= mod;
}
d = a + ;
d1 = d + b;
for (i; i <= a; i++)
{
ans = (ans * b) % mod;
switch ((i-) % )
{
case :
ans += (d1 * b) % mod;
ans %= mod;
ans += sum[b - ] % mod;
ans += ;
break;
case :
ans += (sum[b - ]) % mod;
ans %= mod;
ans += d % mod;
ans %= mod;
break;
case :
ans += (sum[b - ]) % mod;
ans %= mod;
ans += ;
ans %= mod;
break;
}
}
printf("%lld\n", ans % mod);
}
}
return ;
}

2015 acm taipei L-Reward the Troop(uvalive 7465)(找规律)的更多相关文章

  1. UVALive - 6529 找规律+dp

    题目链接: http://acm.hust.edu.cn/vjudge/problem/47664 Eleven Time Limit: 5000MS 问题描述 In this problem, we ...

  2. UVALive - 3722 找规律

    题意:找规律 题解:找规律 结论是\(a^n(x-1)-\sum_{i=1}^{n-1}a^i \mod\ c\) #include<iostream> #include<algor ...

  3. 18春季训练01-3/11 2015 ACM Amman Collegiate Programming Contest

    Solved A Gym 100712A Who Is The Winner Solved B Gym 100712B Rock-Paper-Scissors Solved C Gym 100712C ...

  4. hdu 5444 Elven Postman(二叉树)——2015 ACM/ICPC Asia Regional Changchun Online

    Problem Description Elves are very peculiar creatures. As we all know, they can live for a very long ...

  5. (并查集)Travel -- hdu -- 5441(2015 ACM/ICPC Asia Regional Changchun Online )

    http://acm.hdu.edu.cn/showproblem.php?pid=5441 Travel Time Limit: 1500/1000 MS (Java/Others)    Memo ...

  6. (二叉树)Elven Postman -- HDU -- 54444(2015 ACM/ICPC Asia Regional Changchun Online)

    http://acm.hdu.edu.cn/showproblem.php?pid=5444 Elven Postman Time Limit: 1500/1000 MS (Java/Others)  ...

  7. 2015 ACM/ICPC Asia Regional Changchun Online HDU 5444 Elven Postman【二叉排序树的建树和遍历查找】

    Elven Postman Time Limit: 1500/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)T ...

  8. 2015北京网络赛 H题 Fractal 找规律

    Fractal Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingo ...

  9. 【ZOJ】3785 What day is that day? ——浅谈KMP在ACM竞赛中的暴力打表找规律中的应用

    转载请声明出处:http://www.cnblogs.com/kevince/p/3887827.html    ——By Kevince 首先声明一下,这里的规律指的是循环,即找到最小循环周期. 这 ...

随机推荐

  1. appium(二)简单的demo

     转自http://blog.csdn.net/Yejianyun1/article/details/55517418     启动appium服务,连接手机,将测试用例demo存放到.py文件中 # ...

  2. ztree的数据绑定

    ztree用法(1)首先引用ztree的css和js <link type="text/css" rel="stylesheet" href=" ...

  3. jmter安装配置

    一 JMeter 简介 JMeter 它是Apache组织的开放源代码项目,它是现在比较流行的功能和性能测试的工具.JMeter requires a fully compliant JVM 7 or ...

  4. 火车进站输出路径(HDU1022)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1022 解题报告: 思路: 就是维护好这个栈,只要它不是空,并且头部和ans相同,就一直出栈,直到不满足 ...

  5. 解决调用Office组件的问题

    在修改一个之前工作的好好的工具的时候出了如下错误: 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel ...

  6. hihocoder1398 网络流五之最大权闭合子图

    最大权闭合子图 虽然我自己现在总结不好最大权闭合子图.但也算稍稍理解辣. 网络流起步ing~~~(- ̄▽ ̄)- #include<iostream> #include<cstdio& ...

  7. NVIDIA CUDA Library Documentation

    http://developer.download.nvidia.com/compute/cuda/4_1/rel/toolkit/docs/online/index.html 英伟达CUDA库说明文 ...

  8. Python——配置环境的导出与导入

    导出Python环境安装包[root@bogon ~]# pip freeze > packages.txt 这将会创建一个 packages.txt文件,其中包含了当前环境中所有包及各自的版本 ...

  9. runtime - 消息机制

    Xcode中使用runtime代码时,建议先做下配置: 使用runtime代码时会有适当的提醒. OC方法调用的本质是消息转发,消息机制的本质 创建一个Person类,添加方法 - (void)eat ...

  10. Status bar - iOS之状态栏

    (一)设置状态栏显示和隐藏 1.通过 Info.plist 文件增加字段,控制状态栏全局显示和隐藏 在 Info.plist 文件中增加字段 Status bar is initially hidde ...