JZOJ 1154. 【GDOI2003】购物
1154. 【GDOI2003】购物 (Standard IO)
Time Limits: 1000 ms Memory Limits: 65536 KB
Description
GDOI商场推出优惠活动,以超低价出售若干种商品。但是,商场为避免过分亏本,规定某些商品不能同时购买,而且每种超低价商品只能买一件。身为顾客的你想获得最大的实惠,也就是争取节省最多的钱。经过仔细研究,发现商场出售的超低价商品中,不存在以下情况: n(n>=3)种商品C1,C2,…..,Cn,其中Ci,Ci+1是不能同时购买的(i=1,2…,n-1)并且C1, Cn也不能同时购买。 编程计算可以节省的最大金额数。
Input
第一行两个整数K,M(1<=K<=1000).其中K表示超低价商品数。K种商品的编号依次为1,2,…,K。M表示不能同时购买的商品对数.接下来K行,第i行有一个整数Xi表示购买编号为i的商品可以节省的金额(1<=Xi<=100).再接下来M行,每行两个数A ,B,表示A和B不能同时购买,1<=A<=K,1<=B<=K,A<>B
Output
仅一个整数,表示能节省的最大金额数。
Sample Input
3 1 1 1 1 1 2
Sample Output
2
Data Constraint
题解
把所有商品当成点,分两部分看
- 没有任何限制的点
- 有限制的点,相互限制的点连一条边
很明显,第一部分的点是一定要取的
而第二部分则构成了一棵树(因为没有环),这部分的点有两种解法
树形dp
用f[i][0]表示不取第i个点
用f[i][1]表示取第i个点
转移就是老爸取了儿子不能取,儿子取了老爸不能取二分图
最优匹配问题,也可以转化为最小割
求出来的最优匹配或最小割为ans
则答案是n-ans/2
代码
树形dp
#include<cstdio>
#include<algorithm>
#define N 1001
using namespace std;
long map[N][N],father[N],lc[N],rb[N],ch[N];
long f[N][2];
void build(long now)
{ long i,next;
for(i=1;i<=map[now][0];i++)if(map[now][i]!=father[now]){
if(!lc[now])lc[now]=map[now][i];
else rb[next]=map[now][i];
father[map[now][i]]=now;
next=map[now][i];
ch[now]++;
build(next);
}
}
void suan(long now)
{ long q;
ch[father[now]]--;
if(!lc[now])
f[now][0]=0;
else for(q=lc[now];q;q=rb[q]){
f[now][0]+=max(f[q][0],f[q][1]);
f[now][1]+=f[q][0];
}
}
int main()
{ long n,m,i,j,x,y,ans=0;
scanf("%ld%ld",&n,&m);
for(i=1;i<=n;i++)
scanf("%ld",&f[i][1]);
for(i=1;i<=m;i++){
scanf("%ld%ld",&x,&y);
map[x][++map[x][0]]=y;
map[y][++map[y][0]]=x;
}
for(i=1;i<=n;i++)
if(map[i][0]&&!father[i])
build(i);
for(i=1;i<=n;i++)if(!ch[i]){
suan(i);
for(j=father[i];!ch[j]&&j;j=father[j])
suan(j);
}
for(i=1;i<=n;i++)
if(!father[i])ans+=max(f[i][0],f[i][1]);
printf("%ld\n",ans);
return 0;
}
JZOJ 1154. 【GDOI2003】购物的更多相关文章
- JZOJ 5461. 【NOIP2017提高A组冲刺11.8】购物
5461. [NOIP2017提高A组冲刺11.8]购物 (File IO): input:shopping.in output:shopping.out Time Limits: 1000 ms ...
- JZOJ 5461 购物 —— 贪心
题目:https://jzoj.net/senior/#main/show/5461 贪心,原来想了个思路,优先选优惠价最小的 K 个,然后其他按原价排序遍历: 如果当前物品没选过,原价选上,如果选过 ...
- JZOJ 5459 购物
Description X 城的商场中,有着琳琅满目的各种商品.一日,小X 带着小Y 前来购物,小Y 一共看中了n件商品,每一件商品价格为Pi.小X 现在手中共有m个单位的现金,以及k 张优惠券.小X ...
- 【原】彻底解决WPS弹出热点广告、WPS购物图标的办法
一直用WPS,但一直有一个问题迟迟没有解决,那就是讨厌的WPS广告问题! 每次开机都会自动在托盘上闪烁图标:“WPS购物”和“WPS热点”! 用自定义托盘图标隐藏都不管用,自动又会给改回来!这简直是流 ...
- Java Web之网上购物系统(提交订单、查看我的订单)
作业终于做完了,好开心......虽然这一周经历不是那么顺利,但是觉得还是收获了不少,有过想哭的冲动,代码不会写,事情办不好,各种发愁.空间里发小发了带父母出去游玩的照片,瞬间能量值不知道是被击退的多 ...
- Java Web之网上购物系统(注册、登录、浏览商品、添加购物车)
眼看就要期末了,我的专业课也迎来了第二次的期末作业---------<网上购物系统>.虽然老师的意图是在锻炼我们后台的能力,但是想着还是不利用网上的模板,准备自己写,以来别人写的静态页看不 ...
- 第八章 交互技术,8.1 VR电商购物(作者:宋五)
8.1 VR电商购物 前言 GM LAB在2016年3月成立,是一个旨在探索最新电商购物体验的实验室.在探索VR购物的过程中,有两个需要核心解决的问题:一个是VR购物的产品形态是什么,另一个是VR环境 ...
- 模拟淘宝购物,运用cookie,记录登录账号信息,并且记住购物车内所选的商品
1.登录界面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...
- C算法编程题(七)购物
前言 上一篇<C算法编程题(六)串的处理> 有些朋友看过我写的这个算法编程题系列,都说你写的不是什么算法,也不是什么C++,大家也给我提出用一些C++特性去实现问题更方便些,在这里谢谢大家 ...
随机推荐
- 在VMware装了linux系统,如何在windows系统中用xshell连接
网上有好几种方法,不过我觉得这种比较简单 1.找到VMware菜单 打开 编辑>虚拟网络编辑器 如图: 点下面的更改设置 点确定就可以了,什么都不用改.然后回到linux系统中ifconfig ...
- 《走出软件作坊》//TODO
目录 简介 结束语 简介 作者吕建伟(@阿朱),研发管理专家,原京东技术学院院长,中国互联网技术联盟发起人,历任首席架构师.技术总监以及CTO等职位.目前已接受用友集团董事长王文京邀请,加入用友组建研 ...
- Linux安装svn服务
安装svn yum -y install subversion 创建保存仓库/版本库的目录 mkdir -p /opt/data/svndir 创建仓库/版本库, 这里同时创建两个仓库(project ...
- 把本地的jar包导入到本地的maven仓库,Eclipse可以使用
mvn install:install-file -Dfile=F:/SprintDirectory/ToolsDirectory/libary/fastdfs_client_v1.20.jar -D ...
- JarvisOJ level3_x64
这一题是和前面x86的差不多,都是利用了同一个知识点,唯一的区别就是使用的堆栈地址不同,x86是直接使用堆栈来传递参数的,而x64不同 x64的函数调用时整数和指针参数按照从左到右的顺序依次保存在寄存 ...
- FPGA模N计数器的实现
module ModuloN_Cntr(Clock, Clear, Q, QBAR); , UPTO = ;//计数器位数以及模数 input Clock, Clear; :]Q, QBAR; :]C ...
- OpenCV 读取、修改、保存图像
代码如下: #include <cv.h> #include <highgui.h> using namespace cv; int main( int argc, char* ...
- A - Divide it! CodeForces - 1176A
题目: You are given an integer nn. You can perform any of the following operations with this number an ...
- pycharm全局搜索快捷键无反应
原因:和搜狗输入法的快捷键冲突
- Web of science|SCIE|影响因子|SSCI|高被引论文|领域中热点论文|
信息检索: 数据库 Web of science 影响因子只是针对期刊打分,并不是对文章打分.所以对文章评价可以看引用次数. SCIE (Science Citation Index Expanded ...