原题链接

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

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

最开始写的时候理解错题意以为全部部下都不能一样就不停的错。。。。后来用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. canvas制作雪花效果

    <!DOCTYPE html><html> <head>    <meta http-equiv="Content-type" conte ...

  2. 【翻译】Best Practices for User interface android 适配不同屏幕、不同分辨率

    地址:http://developer.android.com/training/multiscreen/screendensities.html#TaskProvideAltBmp 安卓支持不同的屏 ...

  3. JSON中不能加注释

    今天犯了一个白痴级的错误,那就是向JSON数据文件中,很多行后面添加注释(Comment,//). 导致Node.js程序不能读取JSON文件,Server启动失败. Debug时间蛮久,经同事提醒才 ...

  4. 从PeopleEditor控件中取出多用户并更新到列表

    如果一个列表中有一个字段类型为用户或用户组,并且设置为用户,允许多值的话,那么用代码进行更新的时候就必须将这个字段的值赋成SPFieldUserValueCollection类型,以下代码即为从Peo ...

  5. leetcode:查找

    1.  word ladder 题目: Given two words (start and end), and a dictionary, find the length of shortest t ...

  6. Selenium入门系列3 单个元素的定位方法

    UI自动化首先要识别对象,再操作对象,最后判定实际结果与预期结果是否一致. 这一节学习的是识别单个对象,webdriver提供了8种方式. <a id="idofa" cla ...

  7. Android 中间白色渐变到看不见的线的Drawable

    用gradient <gradient android:startColor="#00ffffff" android:centerColor="#ffffff&qu ...

  8. 在Visual Studio 2010里面使用.NET 4.5里面新增加的HttpClient

    Install-Package Microsoft.Net.Http 为了能同步使用(也就是使用await等关键字) Install-Package Microsoft.Bcl.Async 确认在Vi ...

  9. 【转】Spring 整合 Quartz 实现动态定时任务

    http://blog.csdn.net/u014723529/article/details/51291289 最近项目中需要用到定时任务的功能,虽然spring 也自带了一个轻量级的定时任务实现, ...

  10. 第10章 新建工程-库函数版—零死角玩转STM32-F429系列

    第10章     新建工程—库函数版 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/fire ...