校内模拟测试010T1 删点游戏dt
题意简述
n个点m条边的无向图,要把所有点一个一个地删去。每次删去一个点的花费为这个点相邻的还未被删除的点的点权。无重边无自环,求最小代价。
数据范围
对于\(30\%\)的数据\(n \le 10\)。
对于\(60\%\)的数据\(n,m \le 1000\)。
对于\(100\%\)的数据\(1\le n,m,a_i\le100000\)
分析
如果从点的角度来考虑,是无法得出贪心的结果的。考虑将点权转化为边权。
可以发现,最后每一条边都是要被删去的。删掉一个点的代价是它的邻点,而对于一条边,我们肯定要贪心地让其删去的代价最小。故删去一条边的代价为连接的两个点的最小值。
Code
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<queue>
#include<vector>
#define IL inline
#define re register
#define LL long long
#define ULL unsigned long long
#define re register
#define debug printf("Now is %d\n",__LINE__);
using namespace std;
template<class T>inline void read(T&x)
{
char ch=getchar();
while(!isdigit(ch))ch=getchar();
x=ch-'0';ch=getchar();
while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}
}
inline int read()
{
int x=0;
char ch=getchar();
while(!isdigit(ch))ch=getchar();
x=ch-'0';ch=getchar();
while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();}
return x;
}
int G[55];
template<class T>inline void write(T x)
{
int g=0;
if(x<0) x=-x,putchar('-');
do{G[++g]=x%10;x/=10;}while(x);
for(re int i=g;i>=1;--i)putchar('0'+G[i]);putchar('\n');
}
LL n,m,ans;
LL a[100010];
int main()
{
n=read();
m=read();
for(re LL i=1;i<=n;i++) a[i]=read();
for(re LL i=1;i<=m;i++)
{
ans+=min(a[read()],a[read()]);
}
cout<<ans;
return 0;
}
校内模拟测试010T1 删点游戏dt的更多相关文章
- NOIP模拟测试13「矩阵游戏·跳房子·优美序列」
矩阵游戏 考试时思路一度和正解一样,考试到最后还是打了80分思路,结果80分打炸了只得了40分暴力分 题解 算出来第一列的总值,每次通过加每两列之间的差值得出下一列的总值 算第一列我们只需要让当前点* ...
- 联赛模拟测试5 涂色游戏 矩阵优化DP
题目描述 分析 定义出\(dp[i][j]\)为第\(i\)列涂\(j\)种颜色的方案数 然后我们要解决几个问题 首先是求出某一列涂恰好\(i\)种颜色的方案数\(d[i]\) 如果没有限制必须涂\( ...
- [考试反思]1003csp-s模拟测试58:沉淀
稳住阵脚. 还可以. 至少想拿到的分都拿到了,最后一题的确因为不会按秩合并和线段树分治而想不出来. 对拍了,暴力都拍了.挺稳的. 但是其实也有波折,险些被卡内存. 如果内存使用不连续或申请的内存全部使 ...
- 利用Python中的mock库对Python代码进行模拟测试
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下 ...
- Python 的mock模拟测试介绍
如何不靠耐心测试 可能我们正在写一个社交软件并且想测试一下"发布到Facebook的功能",但是我们不希望每次运行测试集的时候都发布到Facebook上. Python的unitt ...
- 【转】利用Python中的mock库对Python代码进行模拟测试
出处 https://www.toptal.com/python/an-introduction-to-mocking-in-python http://www.oschina.net/transla ...
- [考试反思]1109csp-s模拟测试106:撞词
(撞哈希了用了模拟测试28的词,所以这次就叫撞词吧) 蓝色的0... 蓝色的0... 都该联赛了还能CE呢... 考试结束前15分钟左右,期望得分300 然后对拍发现T2伪了写了一个能拿90分的垃圾随 ...
- springboot2.0入门(四)----mock模拟测试+单元测试
一.本节主要记录模拟测试.单元测试: 二.mock 测试 1.1什么是Mock? 在面向对象程序设计中,模拟对象(英语:mock object,也译作模仿对象)是以可控的方式模拟真实对象行为的假的对象 ...
- csp-s模拟测试97
csp-s模拟测试97 猿型毕露.水题一眼秒,火题切不动,还是太菜了. $T1$看了一会儿感觉$woc$期望题$T1??$假的吧??. $T2$秒. $T3$什么玩意儿. 40 01:24:46 00 ...
- csp-s模拟测试96
csp-s模拟测试96 $T1$一眼慢速乘,$T2$稍证一手最优性尝试用神奇数据结构优化,无果,弃.$T3$暴力+信仰. 100 03:16:38 95 03:16:56 35 03:17:10 23 ...
随机推荐
- css 技巧:利用 after 伪对象和 background 属性实现 img 图片标签占位图
同步发布:https://blog.jijian.link/2020-04-15/css-img-after-placeholder/ 如图: 图片加载失败了,在浏览器会默认显示一张破图.受各种网速. ...
- 解决Dcat Admin laravel框架登录报错问题,(blocked:mixed-content)
前言 在使用 Dcat Admin 后台登录时,发生 error 报错:(blocked:mixed-content) xhr VM484:1,浏览器拦截 其实这是浏览器在 HTTPS 页面中尝试加载 ...
- 如何在 Git 书写良好的 Commit Messages
如何在 Git 书写良好的 Commit Messages Why(为什么编写) | How(如何编写) Why A diff will tell you what changed, but only ...
- 初识for循环
1.格式 想象成跑3圈,初始化语句是i=1,即第一圈,判断条件就是i<=3,跑完三圈就停,条件控制语句就是i++,跑完一圈就要在心里加1圈. . 2.for循环的执行流程 1.执行初始化语句,在 ...
- 航天信息诺税通SAAS接口封装DLL
项目中需要对接航天信息的诺税通接口开具电子发票,为此将功能封装到了DLL中,其他项目也可以方便的引用. Delphi调用示例: 有需要可以和我联系:yzqnet(微信)
- Linux学习笔记(三)----进程
简介 进程是系统资源分配的最小单位,它曾经也是CPU调度的最小单位,但后面被线程所取代. 进程树 Linux系统通过父子进程关系串联起来,所有进程之前构成了一个多叉树结构. 孤儿进程 孤儿进程是指父进 ...
- jeecgboot前端按钮角色权限控制(是否隐藏)
官方文档 http://doc.jeecg.com/2044038 解决办法 首先需要修改前端代码,在想获得权限控制的按钮组件中使用指令 v-has="''". 代码示例: < ...
- Apache DolphinScheduler 3.3.0 Alpha发布,功能增强与性能优化大升级!
近期,Apache DolphinScheduler进行了版本更新,发布了3.3.0 alpha版本.Apache DolphinScheduler 3.3.0 alpha版本在任务管理.容错能力.扩 ...
- 不同数据库Oracle、PostgreSQL、Vertical、Mysql常用操作
不同数据库Oracle.PostgreSQL.Vertical.Mysql常用操作 授权语句用于管理数据库用户的权限,常见的授权语句如下: 1.授权用户对表的SELECT权限 GRANT SELECT ...
- NGUI和UGUI的区别
1.NGUI的渲染前后顺序是通过Widget的Depth,而UGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层 2. NGUI支持图文混排,UGUI暂未发现支持此功能. 3.UGUI没有 ...