ZOJ - 3962 - Seven Segment Display-17省赛-数位DP
题意:求一个给定区间每个数字的消耗值的和;
思路:数位DP,有点区间和的思想,还有就是这个十六进制,可以用%llx读,还是比较难的;
还有就是到最大的 0xffffffff 后,会从新跳到0,这里要加上两段solve(ri)+solve(most)-solve(m-1);
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <string>
typedef long long ll;
using namespace std;
const ll most = (ll)0xffffffff;
int cost[]={,,,,,,,,,,,,,,,};
ll dp[][];
int w[];
ll dfs(ll d, ll sum, bool limit)
{
if(d < )return sum;
if(!limit && dp[d][sum] != -)return dp[d][sum];
ll res = ;
int top = limit ? w[d] : ;
for(int i=; i<=top; i++)
{
res+=dfs(d-, sum+cost[i], limit&&i==w[d]);
}
if(!limit) dp[d][sum]=res;
return res;
}
ll solve (ll t)
{
for(int i=;i<=;i++)
{
w[i]=t%;
t/=;
}
return dfs(, , true);
}
int main(){
//freopen("in","r",stdin);
int t;
scanf("%d",&t);
memset(dp,-,sizeof(dp));
while(t--)
{
ll n, m, ri;
scanf("%lld%llx",&n,&m);
ri = m + n -;
if(ri<most)
{
printf("%lld\n",solve(ri)-solve(m-));
}
else
{
printf("%lld\n",solve(ri)+solve(most)-solve(m-));
}
}
return ;
}
ZOJ - 3962 - Seven Segment Display-17省赛-数位DP的更多相关文章
- ZOJ 3962 Seven Segment Display 16进制的八位数加n。求加的过程中所有的花费。显示[0,F]有相应花费。
Seven Segment Display Time Limit: Seconds Memory Limit: KB A seven segment display, or seven segment ...
- ZOJ 3962 Seven Segment Display
Seven Segment Display 思路: 经典数位dp 代码: #include<bits/stdc++.h> using namespace std; #define LL l ...
- ZOJ 3962 Seven Segment Display(数位DP)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3962 题目大意: 有t组数据. 给你一个n,和8位的十六进制数s ...
- zoj 3962 Seven Segment Display 数位dp
非常好的一个题,可以比赛时想到的状态太奇葩,不方便转移,就一直没能AC. 思路:dp(i, j)表示已经考虑了前i位,前i位的和为j的贡献.如果当前的选择一直是最大的选择,那么就必须从0~下一位的最大 ...
- ZOJ 3962 Seven Segment Display(数位DP)题解
题意:给一个16进制8位数,给定每个数字的贡献,问你贡献和. 思路:数位DP,想了很久用什么表示状态,看题解说用和就行,其他的都算是比较正常的数位DP. 代码: #include<iostrea ...
- 2017浙江省赛 E - Seven Segment Display ZOJ - 3962
地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3962 题目: A seven segment display, or ...
- ZOJ 3962 E.Seven Segment Display / The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple E.数位dp
Seven Segment Display Time Limit: 1 Second Memory Limit: 65536 KB A seven segment display, or s ...
- (2017浙江省赛E)Seven Segment Display
Seven Segment Display Time Limit: 2 Seconds Memory Limit: 65536 KB A seven segment display, or ...
- ZOJ 3494 (AC自动机+高精度数位DP)
题目链接: http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3494 题目大意:给定一些被禁止的BCD码.问指定范围内不含有 ...
随机推荐
- 【iOS】UILabel 常用属性设置
UILabel 的一些常用属性,示例代码如下: // 字体大小 label.font = [UIFont systemFontOfSize:14.0]; label.font = [UIFont fo ...
- 第三章、Go-内建容器
3.1.数组 (1)数组的定义 package main import ( "fmt" ) func main() { //用var定义数组可以不用赋初值 var arr1 [5] ...
- React进阶之路书籍笔记
React进阶之路: "于复合类型的变量,变量名不指向数据,而是指向数据所在的地址.const命令只是保证变量名指向的地址不变,并不保证该地址的数据不变,所以将一个对象声明为常量必须非常小心 ...
- Centos7 搭建owncloud云存储
Centos7 搭建owncloud云存储 首先准备必要的软件和资料. 这里我已经整理好了: 百度云共享 不过最好还是自己去官网上下.这里只不过是提供了快捷方式. owncloud官网:https:/ ...
- 【故障公告】发布 .NET Core 版博客站点引起大量 500 错误
非常抱歉,今天上午的博客站点故障给大家带来了很大的麻烦,请大家谅解.这次故障是我们发布 .NET Core 版博客站点引起的,虽然我们进行了充分的准备,但还是低估了高并发下的复杂问题. 以下是故障背景 ...
- gcd, exgcd的证明
- zookeeper 集群配置
安装前要先确保配置好 jdk,这里不在讲述 一. 将zookeeper 安装包下载到你想要的目录 下载地址:http://mirrors.hust.edu.cn/apache/zookeeper/ m ...
- C#使用LitJson解析Json数据
//接受MQ服务器返回的值 private void jieshou(string zhiling, string can1, string can2, string can3, string can ...
- LeetCode——540. Single Element in a Sorted Array
题目:Given a sorted array consisting of only integers where every element appears twice except for one ...
- LoRaWAN Server开源项目部署
1,安装MQTT broker,Redis,PostgreSQL sudo apt install mosquitto mosquitto-clients redis-server redis-too ...