利内罗女士准备来到意大利进行修行。
意大利由 n 个城市和 m 条道路构成,道路是双向的。
到达第 i 个城市时,她可以取得该城市的全部信仰,并获得 ai 点能力提升,但因为在一个城市可以
取得的信仰有限,多次到达同一个城市不会多次提升能力。
意大利对能力也有很严的要求,对于第 i 条道路,只有能力大于等于 bi 的人才能经过。
利内罗女士准备乘坐飞机去往意大利,飞机可以降落在任意城市(即可以在任意城市开始修行),她
想知道自己的能力最多可以成长为多少。
她提出了 Q 次询问,表示当自己初始能力为 qi 时,能力最多可以成长为多少。


Input

第一行三个整数 n, m, Q。接下来一行 n 个非负整数,a1 到 an。
接下来 m 行,每行三个正整数,ui, vi, bi,表示城市 ui 和城市 vi 之间有一条道路。
最后 Q 行,每行一个非负整数 qi。


Output

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

Notes
对于所有数据,满足 n, Q ≤ 105, m ≤ 2 ∗ 105, ai ≤ 104, qi, bi ≤ 109
Task1[20%]

n ≤ 5 , m ≤ 10 , Q =1

Task2[30%]
n ≤ 50 , m ≤ 100 , Q ≤ 5

Task3[40%]

n ≤ 100 , m ≤ 200 , Q ≤5

Task4[50%]
n ≤ 300 , m ≤ 600 , Q ≤ 100

Task5[60%]

n ≤ 1000 , m ≤ 2000 , Q ≤ 10

Task6[100%]
无特殊限制
Subtask1[10pts]
n ≤ 1000 , m = n − 1 , Q ≤ 1000,图保证联通
Subtask2[10pts]
m = n − 1,图保证联通0


题意:对于一个有向图,求一条通过点值最大的路径,通过每条边需要一定大小要求。

思路:第一篇博客就已经声明过的:本人蒟蒻,奔着提高省3去的,所以显然,此题只能暴搜。

据出题人说,此题求连通块加个并查集维护即可,时间复杂度 O((n + m + q)log n)。我当然不会,看诸位大佬懂不懂。

见暴搜代码:

#include<bits/stdc++.h>
using namespace std;
const int inf=0x3f3f3f3f;
int a[],n,m,bi,q,ui[],vi[],b[][],ans,qi,sum=;
bool road[][],place[];
void dfs(int x)
{
if(place[x]==false)
{
ans=ans+a[x];
place[x]=true;
}
if(ans>sum)
sum=ans;
for(int i=;i<=n;i++)
{
if(i==x)
continue;
else if(road[x][i]==true&&ans>=b[x][i])
{
road[x][i]=false;
road[i][x]=false;
dfs(i);
}
}
ans=ans-a[x];
}
int main()
{
cin>>n>>m>>q;
for(int i=;i<=n;i++)
cin>>a[i];
for(int i=;i<=m;i++)
{
cin>>ui[i]>>vi[i]>>bi;
b[ui[i]][vi[i]]=bi;
b[vi[i]][ui[i]]=bi;
}
for( int i=;i<=q;i++)
{
cin>>qi;
ans=qi;
for(int j=;j<=n;j++)
{
memset(road,false,sizeof(road));
memset(place,false,sizeof(place));
for(int i1=;i1<=m;i1++)
{
road[ui[i1]][vi[i1]]=true;
road[vi[i1]][ui[i1]]=true;
} dfs(j);
}
cout<<sum<<endl;
}
fclose(stdin);
fclose(stdout);
return ;
}

好题哉!!!

嵊州普及Day3T4的更多相关文章

  1. 嵊州普及Day1T2

    题意:走迷宫.求走到a[n][n]需要多久. 考场上想的dfs,听老师说最多50分.代码懒得码了,知道是走迷宫就好. 正解:bfs,时间复杂度O(n). 见代码: #include<iostre ...

  2. 嵊州普及Day6T3

    题意:n个点,对于q个询问,有t秒及一个矩形的范围.在此矩形内的数每秒加1,若等于c,则下一秒变为0. 思路:t可能很大,%c+1就可以了.然后一个一个加起来就可以了. 见代码: #include&l ...

  3. 嵊州普及Day6T1

    题意:有一个矩形,由正负整数构成.一个位子的魅力值为相邻的格子,若与邻格同号则减去绝对值,若异号则加上绝对值. 思路:一个格子一个格子计算即可,没什么好说的. 见代码: #include<ios ...

  4. 嵊州普及Day5T4

    题意:两个1,每次可将一个*k,一个*K2,n个问题,问能否达成x,y? 思路:只有将x,y相乘为3次方时,才可能.并且相乘的三次方一定要是x,y的因子. 下面证明:3次方易证,因为对每个k,都会乘三 ...

  5. 嵊州普及Day5T2

    题意:将(w,h)的纸条折成(W,H),最少需几步. 思路:横竖互不干扰,然后最多可折int型一半,拿个函数判断两次比较即可,然后折不了的条件是需要的矩形大于给的矩形. 见代码: #include&l ...

  6. 嵊州普及Day5T1

    题意:有n个商店,自家商店的定价不可高于任何一家商店定价,求自家商店最高定价. 思路:拿个变量打擂台即可,不用解释太多. 见代码: #include<iostream> #include& ...

  7. 嵊州普及Day4T2

    题意:有一个单行走廊,每回合第ai个展柜会冒出来一只鬼,右边尽头有一个人间大炮和向最左传送门(费用均1金币),你需要每回合将所有鬼交换展柜,全部至最右,问若从一到n所有回合结束是需多少金币可射死所有鬼 ...

  8. 嵊州普及Day4T1

    题意:从n个数中选出k个数,使他们任意两数之差都等于m. 思路:任意差值都等于m,不就等价于k个数模m余数相同吗? 然后桶排储蓄一下各数余数即可. 见代码: #include<iostream& ...

  9. 嵊州普及Day4T4

    题意:求最长上升序列长度和方案数. 思路:经典DP,不需什么别的东西,加一个数组储蓄程序数即可,原题300000可能N2会有问题,但问题不大. 见代码: #include<iostream> ...

随机推荐

  1. Nginx实现HTTP及TCP负载均衡

    这种通过一台apache的服务器把客户请求分别传递给两台tomcat叫负载均衡  ========================================= ================= ...

  2. centos7.4安装gitlab

    1. 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients postfix 2.下载gitlab安装包,然后安装 c ...

  3. C语言笔记 12_可变参数&内存管理&命令行参数

    可变参数 有时,您可能会碰到这样的情况,您希望函数带有可变数量的参数,而不是预定义数量的参数.C 语言为这种情况提供了一个解决方案,它允许您定义一个函数,能根据具体的需求接受可变数量的参数.下面的实例 ...

  4. 2.ORM框架添加,修改,删除操作

    创建了表对象,代码如下: from flask import Flask from flask_sqlalchemy import SQLAlchemy app=Flask(__name__) # 配 ...

  5. PAT T1015 Letter-moving Gam

    双下标法找最长公共子序列(不能删除字符) #include<bits/stdc++.h> using namespace std; ; string s; string t; int ma ...

  6. 从零构建以太坊(Ethereum)智能合约到项目实战——第24章 IPFS + 区块链

    P93 .1-IPFS环境配置P94 .2-IPFS+P .IPNS+P .个人博客搭建 - 如何在IPFS新增一个文件P95 .3-IPFS+P .IPNS+P .个人博客搭建 - 通过ipfs创建 ...

  7. [蓝桥杯2015初赛]生命之树(树状dp)

    在X森林里,上帝创建了生命之树.他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值.上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 ...

  8. 安卓手机的屏幕规格很多。app开发者在设计User Interface的时候,要怎么处理,才能适应不同屏幕大小?

    在app store下载应用时经常看到:此App已针对iPhone 5 进行优化.可是Android手机屏幕规格这么多,相差这么远.难道要针对每个尺寸都进行一次优化吗?(题主非专业人士,看到2014年 ...

  9. 树 插件 ztree 的基本用法

    因业务需要 用到 ztree 插件 第一次用tree插件上手有点难度 官网 http://www.treejs.cn/v3/main.php#_zTreeInfo 第一步:初始化树,树的所有数据从后台 ...

  10. ORACLE A表字段更改为B表的字段

    UPDATE IM_PARA_CHECK_DATA_NEW A SET (OPERASTATE, COVER_TYPE, COVER_PRO, WORK_BAND, DEVICE_TYPE) =(SE ...