bzoj4693: 雪中送温暖
Description
Input
Output
打表可知当且仅当 对于每个二进制位,至多有一维坐标为1 时为红色,于是可以从高位到低位进行数位dp,记录每一维坐标已确定部分与Li,Ri的关系($x=L_i || x=R_i || L_i<x<R_i$)
时间复杂度$O(T3^klog(max{R_i}))$
#include<cstdio>
#include<cstring>
typedef long long i64;
const int P=;
int T,n,t;
i64 l[],r[];
int pw3[],ls[],rs[],eq[],peq[];
int f[][],*f1,*f0;
void inc(int&a,int b){b+=a-P;a=b+(b>>&P);}
void dfs(int w,int d,int S,int S2){
if(w==-)return inc(f0[S2],f1[S]);
S*=,S2*=;
if(!peq[w]){
if(!ls[w])dfs(w-,d,S,S2);
dfs(w-,d,S+,S2++rs[w]);
dfs(w-,d,S+,S2+);
if(!d){
dfs(w-,,S,S2+(ls[w]^)*);
if(rs[w])dfs(w-,,S+,S2+);
dfs(w-,,S+,S2+);
}
}else if(!eq[w]){
dfs(w-,d,S,S2);
if(!d)dfs(w-,,S,S2+);
}else if(d+rs[w]<=)dfs(w-,d+rs[w],S,S2);
}
int main(){
for(int i=pw3[]=;i<;++i)pw3[i]=pw3[i-]*;
f[][]=;
for(scanf("%d",&T);T;--T){
scanf("%d",&n);
for(int i=;i<n;++i)scanf("%lld",l+i),--l[i];
for(int i=;i<n;++i)scanf("%lld",r+i),--r[i];
for(t=;t>=;--t){
f1=f[t+];
memset(f0=f[t],,sizeof(int)*pw3[n]);
for(int i=;i<n;++i){
ls[i]=l[i]>>t&;
eq[i]=!((l[i]^r[i])>>t);
peq[i]=!((l[i]^r[i])>>t+);
rs[i]=r[i]>>t&;
}
dfs(n-,,,);
}
int ans=;
for(int i=;i<pw3[n];++i)inc(ans,f0[i]);
printf("%d\n",ans);
}
return ;
}
bzoj4693: 雪中送温暖的更多相关文章
- 某次送温暖考试的 c题
题目大意: 给定n个点的无根树,树上每个点都有一个非负的点权. 树上的路径的价值定义为树上路径的点权和-树上路径的点权最大值; 现在给定一个参数P询问有多少条路径的价值是P的倍数(注意单点也算路径,路 ...
- Contest-hunter 暑假送温暖 SRM08
01-07都没写...然后突然来写貌似有点突兀啊...不管了,难得前排记录一下... 吐槽一下赛制...不得不说很强... cf 套oi...很创新...不过还是兹磁ACM或者CF A-1 数据才2& ...
- Contest-hunter 暑假送温暖 SRM01
一直找不到好的题去做...于是想到了srm...回来补题...QAQ 从srm01补起 A 题意:n个数,排成一列,刚开始都是1,如果左右相等就可以合并,问最后的数列长什么样. 思路:比赛的时候直接敲 ...
- golang1.13中重要的新特新
本文索引 语言变化 数字字面量 越界索引报错的完善 工具链改进 GOPROXY GOSUMDB GOPRIVATE 标准库的新功能 判断变量是否为0值 错误处理的革新 Unwrap Is As gol ...
- 经典创意slogan大全
一句好的广告语,能强烈的激发人的感情,产生心理认同感.对于广告人来说,无论走到哪里,最敏感的就是广告语.一句广告语,可能只有短短几个字或一两句话,却是一个品牌的精华所在.能不能第一时间吸引受众眼球,抓 ...
- jsp+tomcat+mysql+sevlet+javabean配置过程
在配置jsp开发环境的过程中会碰到不少问题,感谢网上的许多前辈的经验总结,作者cl41的JSP连接Mysql数据库攻略和作者Saulzy的MySQL学习笔记等文章对我来说简直是雪中送碳,为了帮助象我一 ...
- 从Image Caption Generation理解深度学习
0. 前面的话 建丁让我写一篇深度学习相关小文章,目标读者是国内的开发者.刚接到这个任务时我是颇为忐忑的,写文章要讲究厚积薄发,如果“水之积也不厚”,“则其负大舟也无力”.因为我自知水平很有限,又不是 ...
- THUWC逛街记
1/28 这次打算去THUWC划个水,就定了1/29中午的飞机.同校有几个同学去PKUWC,求稳搭今天的飞机.中午时候听说今天飞长沙的飞机全都取消了,明天有没有也不好说( 事实证明29号有飞机:( ) ...
- [转]一个普通IT人的十年回顾---金旭亮
金旭亮老师十年体会,很有收获.转自网络. 金旭亮于1989年与超级解霸的开发者梁肇新同时迈入广西大学的校门,却走了一条与其不同的路. 1994年起开始自学计算机专业本科课程,并开始编程,从未间断,迄今 ...
随机推荐
- [转载]request.getServletPath()方法
假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 则执行下面向行代码后打印出如下结果 ...
- Java——File类成员方法
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- MyEclipse 2017 CI 10 发布(附下载)
挑战全年最低价!MyEclipse线上狂欢仅剩最后3天!立即抢购>> 2017 CI 10主要是一个错误修复版本,这个版本为Angular和TypeScript工具提供了重要的修复,并为I ...
- MyEclipse WebSphere开发教程:WebSphere 7安装指南(四)
[周年庆]MyEclipse个人授权 折扣低至冰点!立即开抢>> [MyEclipse最新版下载] 六.管理配置文件 现在您已经安装了WebSphere 7的所有更新,您必须创建一个配置文 ...
- c语言基础:数据类型 分类: iOS学习 c语言基础 2015-06-10 21:43 9人阅读 评论(0) 收藏
C语言基本数据类型大体上分为: 整型 和 浮点型 字节: 计算机中最小的储存单位 1 Byte = 8 bit 整型: int 4 ...
- Jsonp的实现
JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题. 由于同源策略,一般来说位于 server1.com 的网页无法与不是 serv ...
- Springboot整合pagehelper分页
一.在pom中添加依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId&g ...
- POI的简单使用
一:简介 利用POI工具可以导出word,excel,ppt等office文件 二:程序代码示例 package com.wang.test; import java.io.File; import ...
- JavaWeb-入门第一课-1.静态web动态web 2.web服务器 3.下载和安装Tomcat-web服务器
文章来源:http://www.cnblogs.com/xdp-gacl/p/3729033.html 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思 静态web资源(如html ...
- Linux regulator系统
1. 概念:Regulator : 电源芯片, 比如电压转换芯片Consumer : 消费者,使用电源的部件, Regulator是给Consumer供电的machine : 单板,上面焊接有Regu ...