XHXJ's LIS
XHXJ's LIS
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
If you do not know xhxj, then carefully reading the entire description is very important.
As the strongest fighting force in UESTC, xhxj grew up in Jintang, a border town of Chengdu.
Like many god cattles, xhxj has a legendary life:
2010.04,
had not yet begun to learn the algorithm, xhxj won the second prize in
the university contest. And in this fall, xhxj got one gold medal and
one silver medal of regional contest. In the next year's summer, xhxj
was invited to Beijing to attend the astar onsite. A few months later,
xhxj got two gold medals and was also qualified for world's final.
However, xhxj was defeated by zhymaoiing in the competition that
determined who would go to the world's final(there is only one team for
every university to send to the world's final) .Now, xhxj is much more
stronger than ever,and she will go to the dreaming country to compete in
TCO final.
As you see, xhxj always keeps a short hair(reasons
unknown), so she looks like a boy( I will not tell you she is actually a
lovely girl), wearing yellow T-shirt. When she is not talking, her
round face feels very lovely, attracting others to touch her face
gently。Unlike God Luo's, another UESTC god cattle who has cool and noble
charm, xhxj is quite approachable, lively, clever. On the other
hand,xhxj is very sensitive to the beautiful properties, "this problem
has a very good properties",she always said that after ACing a very hard
problem. She often helps in finding solutions, even though she is not
good at the problems of that type.
Xhxj loves many games such
as,Dota, ocg, mahjong, Starcraft 2, Diablo 3.etc,if you can beat her in
any game above, you will get her admire and become a god cattle. She is
very concerned with her younger schoolfellows, if she saw someone on a
DOTA platform, she would say: "Why do not you go to improve your
programming skill". When she receives sincere compliments from others,
she would say modestly: "Please don’t flatter at me.(Please don't
black)."As she will graduate after no more than one year, xhxj also
wants to fall in love. However, the man in her dreams has not yet
appeared, so she now prefers girls.
Another hobby of xhxj is
yy(speculation) some magical problems to discover the special
properties. For example, when she see a number, she would think whether
the digits of a number are strictly increasing. If you consider the
number as a string and can get a longest strictly increasing subsequence
the length of which is equal to k, the power of this number is k.. It
is very simple to determine a single number’s power, but is it also easy
to solve this problem with the numbers within an interval? xhxj has a
little tired,she want a god cattle to help her solve this problem,the
problem is: Determine how many numbers have the power value k in [L,R]
in O(1)time.
For the first one to solve this problem,xhxj will upgrade 20 favorability rate。
0<L<=R<263-1 and 1<=K<=10).
123 321 2
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <bitset>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#define rep(i,m,n) for(i=m;i<=n;i++)
#define mod 1000000007
#define inf 0x3f3f3f3f
#define vi vector<int>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
#define pii pair<int,int>
#define piii pair<int,pair<ll,ll> >
#define sys system("pause")
const int maxn=1e5+;
const int N=5e4+;
const int M=N**;
using namespace std;
inline ll gcd(ll p,ll q){return q==?p:gcd(q,p%q);}
inline ll qpow(ll p,ll q){ll f=;while(q){if(q&)f=f*p;p=p*p;q>>=;}return f;}
inline void umax(ll &p,ll q){if(p<q)p=q;}
inline void umin(ll &p,ll q){if(p>q)p=q;}
int n,m,k,t,num[],pos,cas;
ll dp[][<<][],p,q;
ll dfs(int pos,int x,int y,int z,int v)
{
if(pos<)return y==;
if(y<)return ;
if(z&&v&&dp[pos][x][y]!=-)return dp[pos][x][y];
int now=z?:num[pos],i,j;
ll ret=;
rep(i,,now)
{
rep(j,i,)if(x>>j&)break;
if(!i&&!v)ret+=dfs(pos-,x,y,z||i<num[pos],v||i);
else if(j==)ret+=dfs(pos-,x|(<<i),y-,z||i<num[pos],v||i);
else ret+=dfs(pos-,x^(<<j)^(<<i),y,z||i<num[pos],v||i);
}
return z&&v?dp[pos][x][y]=ret:ret;
}
ll gao(ll x)
{
pos=;
while(x)num[pos++]=x%,x/=;
return dfs(pos-,,k,,);
}
int main()
{
int i,j;
memset(dp,-,sizeof(dp));
scanf("%d",&t);
while(t--)
{
scanf("%lld%lld%d",&p,&q,&k);
printf("Case #%d: %lld\n",++cas,gao(q)-gao(p-));
}
return ;
}
XHXJ's LIS的更多相关文章
- 【HDU 4352】 XHXJ's LIS (数位DP+状态压缩+LIS)
XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- HDU 4352 XHXJ's LIS 数位dp lis
目录 题目链接 题解 代码 题目链接 HDU 4352 XHXJ's LIS 题解 对于lis求的过程 对一个数列,都可以用nlogn的方法来的到它的一个可行lis 对这个logn的方法求解lis时用 ...
- XHXJ's LIS(数位DP)
XHXJ's LIS http://acm.hdu.edu.cn/showproblem.php?pid=4352 Time Limit: 2000/1000 MS (Java/Others) ...
- hdu 4352 XHXJ's LIS 数位dp+状态压缩
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352 XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others ...
- hdu4352 XHXJ's LIS(数位dp)
题目传送门 XHXJ's LIS Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- HDU 4352 XHXJ's LIS HDU(数位DP)
HDU 4352 XHXJ's LIS HDU 题目大意 给你L到R区间,和一个数字K,然后让你求L到R区间之内满足最长上升子序列长度为K的数字有多少个 solution 简洁明了的题意总是让人无从下 ...
- HDU 4352 - XHXJ's LIS - [数位DP][LIS问题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4352 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- hdu 4352 XHXJ's LIS (数位dp+状态压缩)
Description #define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully readin ...
- 【数位dp+状压】XHXJ 's LIS
题目 define xhxj (Xin Hang senior sister(学姐)) If you do not know xhxj, then carefully reading the enti ...
随机推荐
- ios添加麦克风访问权限
不然程序崩溃: This app has crashed because it attempted to access privacy-sensitive data without a usage d ...
- 每日算法之二十六:Substring with Concatenation of All Words
变相的字符串匹配 给定一个字符串,然后再给定一组同样长度的单词列表,要求在字符串中查找满足下面条件的起始位置: 1)从这个位置開始包括单词列表中全部的单词.且每一个单词仅且必须出现一次. 2)在出现的 ...
- 修改android系统开机动画
本文转载自:http://blog.csdn.net/u012301841/article/details/51598115 修改android系统开机动画
- [BZOJ 1735] Muddy Fields
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1735 [算法] 二分图最小覆盖 [代码] #include<bits/stdc ...
- 实现泛型IEnumerable接口
用C#实现一个类的IEnumerable接口时有两种方法:1)实现非泛型IEnumerable接口:2)实现泛型IEnumerable(T)接口.如果采用方法1,当集合元素T是值类型时,将涉及到巨多的 ...
- 在linux查看内存的大小
用free -m查看的结果: # free -m total used free shared buffers cached Mem: ...
- python 关于文件操作的一些理解
在用python进行数据处理编程中,往往涉及到文件IO口读写,IO口的读写性能会极大的影响程序的运行时间.在进行文件写入时,一般会存在两种情况.第一种是数据到来马上进行数据写入,即来一条写一条,第二种 ...
- iOS 代理设计模式
在项目中经常会用到代理的设计模式,这是iOS中一种消息传递的方式,也可以通过这种方式传递一些参数. 在项目中,刚开始我是用一些代理来传递参数的,但是慢慢觉得代理的代码比较block多,所以就更多的使用 ...
- linux ssh文件输
在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...
- POJ 3114 Tarjan+Dijkstra
题意: 间谍在战争期间想要传递一份谍报回国,谍报可以在邮局之间传递,但这种传递是单向的,并且会少耗一些时间.但是如果两个邮局在同一个国家的话,那么谍报在这两个邮局之间传递是不消耗时间的.如果几个邮局发 ...