2015 acm taipei L-Reward the Troop(uvalive 7465)(找规律)
就大概说的是一个将军要给部下发勋章,他的部下以和别人不一样的勋章为荣,但是他没这么多钱,所以问你最少要多少钱
要求是每个人的上司是他的上两级,他的下两级是他的部下,每个人的勋章不能和他的上司和部下的勋章一样,也不能和他同源的同等级军人一样。
最开始写的时候理解错题意以为全部部下都不能一样就不停的错。。。。后来用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)(找规律)的更多相关文章
- UVALive - 6529 找规律+dp
题目链接: http://acm.hust.edu.cn/vjudge/problem/47664 Eleven Time Limit: 5000MS 问题描述 In this problem, we ...
- UVALive - 3722 找规律
题意:找规律 题解:找规律 结论是\(a^n(x-1)-\sum_{i=1}^{n-1}a^i \mod\ c\) #include<iostream> #include<algor ...
- 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 ...
- 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 ...
- (并查集)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 ...
- (二叉树)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) ...
- 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 ...
- 2015北京网络赛 H题 Fractal 找规律
Fractal Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingo ...
- 【ZOJ】3785 What day is that day? ——浅谈KMP在ACM竞赛中的暴力打表找规律中的应用
转载请声明出处:http://www.cnblogs.com/kevince/p/3887827.html ——By Kevince 首先声明一下,这里的规律指的是循环,即找到最小循环周期. 这 ...
随机推荐
- spring笔记3-AOP
一.概述 AOP:(Aspect Oriented Programming)即:面向切面编程.把我们程序重复的代码抽取出来,在需要执行的时候,使用动态代理的技术,在不修改源码的基础上,对我们的已有方法 ...
- 在unbuntu 1204(32位)下安装hadoop2.2.0的一些问题
虽然在网上可以找到很多这样的step by step的教程,但是我还是遇到了很多问题.趁着一点记忆,将这些问题记录下来.安装过程参考了以下博客: http://www.cnblogs.com/life ...
- 在微信小程序里自动获得当前手机所在的经纬度并转换成地址
效果:我在手机上打开微信小程序,自动显示出我当前所在的地理位置: 具体步骤: 1. 使用微信jssdk提供的getLocation API拿到经纬度: 2. 调用高德地图的api使用经纬度去换取地址的 ...
- *389. Find the Difference (string + map(26)) read problems carefully
Given two strings s and t which consist of only lowercase letters. String t is generated by random s ...
- Selenium入门16 获取页面源代码
页面源代码:page_source属性 获取源代码之后,再用正则表达式匹配出所有的链接,代码如下: #coding:utf-8 from selenium import webdriver impor ...
- 自定义报告,用Java写一个html文件
因为testng不满足我们的展示,所以我们会自己定义一个报告,实施步骤是,把静态页面做好后,放在Java项目中,其实和生成一个日志文件类似,只是该了后缀,Java中需要使用到PrintStream,案 ...
- spring boot学习1
转:https://blog.csdn.net/jsyxcjw/article/details/46763639 1 开始 1.1 spring介绍 Spring Boot使开发独立的,产品级别的基于 ...
- PHP编译安装时常见错误及解决办法,大全
1. configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution ...
- PHPmailer群发Gmail的常见问题
博主小白一枚,phpmailer只会一些基本的用法,就这样一个邮件的群发功能也难住了我一周,下面把我遇到的问题给大家总结一下 1.Could not authenticate 首先,如果你没有使用循环 ...
- python Unittest+excel+ddt数据驱动测试
#!user/bin/env python # coding=utf- # @Author : Dang # @Time : // : # @Email : @qq.com # @File : # @ ...