花花的礼物 (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. HDU 2047 EOF牛肉串

    水到不想整理,线性DP #include <algorithm> #include <iostream> #include <cstring> #include & ...

  2. 在 publicId 和 systemId 之间需要有空格。

    spring  applicationContext_datasource.xml中约束错误 org.springframework.beans.factory.xml.XmlBeanDefiniti ...

  3. DB - RDMS - MySQL优化

    慢SQL会消耗打来难过的数据库CPU资源,特别是频繁执行的慢SQL语句,会造成大量任务的堆积,CPU瞬间增大.

  4. centos7 php7 安装php扩展

    yum install php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 ...

  5. php-语言参考-基本语法3.1

    一,PHP代码的开始和结束标记 1,<?php 和 ?> //重点 2,<script language="php"> 和 </script> ...

  6. 无序数组中第K大的数

    1. 排序法 时间复杂度 O(nlogn) 2. 使用一个大小为K的数组arr保存前K个最大的元素 遍历原数组,遇到大于arr最小值的元素时候,使用插入排序方法,插入这个元素 时间复杂度,遍历是 O( ...

  7. C# 禁止在textBox输入框输入非法字符

    首先添加下面代码 //禁止在textBox输入框输入非法字符 private void keypressed(Object o, KeyPressEventArgs e) { if (e.KeyCha ...

  8. windows系统如何查看某个端口被谁占用

    1.开始---->运行---->cmd,或者是window+R组合键,调出命令窗口 2.输入命令:netstat -ano,列出所有端口的情况.在列表中我们观察被占用的端口,比如是135, ...

  9. json对象和java对象的相互转换方法(json-lib、jackson、fastjson、gson)

    一 使用json-lib包下的JSONObject和JSONArray转换 代码如下: package com.test.test; import java.util.ArrayList; impor ...

  10. 什么时候会报unrecognized selector的异常?

    当调用该对象上某个方法,而该对象上没有实现这个方法的时候, 可以通过“消息转发”进行解决,如果还是不行就会报unrecognized selector异常 objc是动态语言,每个方法在运行时会被动态 ...