花花的礼物 (huahua)

花花是个爱动脑子的孩子,在她的生日的时候,她的爸爸给她准备了个礼物。但是,她的爸爸并不想让她轻易得到礼物,他把礼物放在了一个箱子里面,只有输入正确的密码才能打开箱子,而她的爸爸告诉了她这个礼物该怎么得到:

他们所在的城市可以看成有n个点,m条边的无向图,每个点上有一个权值ai,每条边有一个权值w。

我们定义两个点x,y关于k联通当且仅当存在一条从x到y的路径,满足这条路径上的w的最大值小于等于k。

而密码就是和节点x关于k联通的所有节点的ai构成的集合B的summex。

我们定义一个可重复数集B的summex为无法用B集合的子集的和表示的正整数的最小值。

例如,B= {1, 1, 3, 7},他能表示0{},1{1},2{1,1},3{3},4{1+3},5{1+1+3},但是他不能表示6,所以summex{1, 1, 3, 7}是6。

由于她的爸爸有点健忘,他可能会记错,所以会有多组(Q组)询问。对于每组询问,你都要给一个正确的答案。

为了提高难度,我们会对数据加密,对于一个给定的数S,解密输入中的C++代码是:

inline void decode(int &x, int &y){

x = (lstans & S) ^ x;

y = (lstans & S) ^ y;

}

其中的lstans是上次询问的答案。

输入格式

第一行四个整数分别表示n,m,Q,S。

接下来一行n个数,第i个数表示ai。

接下来m行,每行三个数x y w,表示有一条边(x,y),权值是w。

接下来Q行,每行两个整数x k,表示加密前的x和k。

输出格式

Q行,每行一个整数表示答案。

样例

样例输入

【样例输入1】
5 5 5 0
1 2 2 4 5
1 3 1
2 3 4
3 5 2
2 4 3
2 5 5
1 1
1 2
2 3
1 4
5 2

样例输出

【样例输出1】
4
4
1
15
4

solution

先不考虑k的限制。

假设我已经得到了集合S

假设我现在能表示i~la-1,S中<=la的数和为y。

如果y<la,那么la就是答案。否则la=y+1;

线段树查询即可。

考虑离线做法

我们按k排序,从小到大处理加边并询问。

我们对于每一个点都开一颗线段树,连一条边时就线段树合并。

考虑在线

建出kurskal重构树,这样子和每一个点距离<=k的一定在同一课子树里。

对于每一个点,开一个线段树,由他的儿子合并上来。

树上倍增找到深度最小的合法点即可。

花花的礼物 (huahua)的更多相关文章

  1. jQuery动画-圣诞节礼物

    ▓▓▓▓▓▓ 大致介绍 下午看到了一个送圣诞礼物的小动画,正好要快到圣诞节了,就动手模仿并改进了一些小问题 原地址:花式轮播----圣诞礼物传送 思路:动画中一共有五个礼物,他们平均分布在屏幕中,设置 ...

  2. bzoj 3055礼物运送 floyed + 状压DP

    bzoj 3055: 礼物运送 floyed first 设f[i][S]表示取到了S集合中的所有点(不一定是经过的所有点),最后停在了i的最优值. 初始就f[i][{i}] = dis[1][i] ...

  3. Typecast 免费了!献给设计师们的礼物

    TypeCast 让你可以从 Fonts.com.TypeKit.FontDeck 和 Google 这些字体供应和商选择字体,而且能非常方便的比较这些字体使用效果.如果你想获得用户对这些字体效果的反 ...

  4. 【HDU 5835】Danganronpa(分配礼物)

    10种礼物,每种有ai个,每个小朋友分两个礼物,其中普通礼物要求相邻两人的不能一样,求最多分给几个小朋友. sum/2是最多的情况.什么时候发不了那么多,就是当max很大,无论怎么发,都发不完max. ...

  5. bug检测报告---礼物挑选小工具--飞天小女警

    飞天小女警----礼物挑选小工具 测试产品链接:http://123.207.159.79:8088/giving_gifts/ 发布在作者的博客里面:http://www.cnblogs.com/s ...

  6. 在线制作h5——上帝的礼物

    在线制作h5 网址:http://www.godgiftgame.com 网站名称:上帝的礼物 推荐指数:5颗星 功能概要 可以设置背景.元素图片.元素文字.元素图形.声音.加载.链接.分享,生成h5 ...

  7. 失恋28天-缝补礼物(codevs 2503)

    2503 失恋28天-缝补礼物  时间限制: 1 s  空间限制: 32000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 话说上回他给女孩送 ...

  8. bzoj 3920: Yuuna的礼物

    Description 转眼就要到Karin的生日了!Yuuna她们想为她准备生日礼物!现在有许多礼物被排列成了一个一维序列,每个礼物都有一个价值.Yuuna对这个序列十分感兴趣.因此,你需要多次回答 ...

  9. cdoj 1131 男神的礼物 区间dp

    男神的礼物 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1131 Descr ...

随机推荐

  1. MySQL视图、事务

    view(视图):虚拟表主要用来看(查)数据基表的数据变化会在视图中体现出来 权限控制将多表查询的结果整合在视图中方便用户查看 create view v1 as select ...查询语句WITH ...

  2. git 代码托管使用方法

    Git代码托管 1 准备材料 在coding,github这些代码托管网站上申请一个账户. Linux平台什么需要一个git,如ubuntu 需要 $ sudo apt-get install git ...

  3. 笔记-爬虫-scrapy-srcapy-redis组件

    笔记-爬虫-scrapy-srcapy-redis组件 1.      简介 scrapy是一个爬虫框架,但不支持分布式,scrapy-redis是为了更方便的实现scrapy分布式爬虫的组件. 可以 ...

  4. python Beautiful Soup库入门

    bs4库的HTML内容遍历方法 基于bs4库的HTML格式输出 显示:友好的显示 <tag>.prettify() 编码:bs4库将任何HTML输入都变成utf-8编码(python 3. ...

  5. USACO Section2.3 Cow Pedigrees 解题报告 【icedream61】

    nocows解题报告------------------------------------------------------------------------------------------ ...

  6. CocosCreator设置模拟器默认横竖屏以及机型

    之前好好的横屏,今天不知道为毛突然变成竖屏了,虽然可以在点击模拟器左上角进行设置,   但是 每次启动模拟器又变成竖屏了,折腾了很久,终于找到了设置的地方,记录下:        

  7. loadrunner检查点设置失败,日志中SaveCount无法被正常统计出来

    在脚本正确的情况下的web_reg_find检查点检查失败,SaveCount无法被正常统计出来. 在检查项Text为中文的情况下, ******(我是被录制下来的代码) web_reg_find(& ...

  8. Remote使用出现的问题及解决办法

    最近尝试跟着虫师的OP模式所写的bbs代码,应用自己的项目尝试修改,在第一步Remote启动Firefox上便出错,当前selenium2.53,firefox47.1,selenium server ...

  9. shell之echo and printf

    #!/bin/sh _________echo___________#read name #echo "$name It is a test" #read命令从标准的输入中读取一行 ...

  10. Java基本-2对象与包

    1.对象:通俗的来讲,就是一个东西,比如汽车是一个对象,人是一个对象,狗是一个对象. 2.类:她描述的是对象的行为或者状态,比如对象是汽车,那么嘞可以分为小汽车类,大货车类,客车类等. 在类中可以包含 ...