2019/2/18 Test
图论模拟
【简述情况】:
\(110/400\)
\(20 \leq rank\)
\(AC:1\)
有思路但未\(AC:0\)
无思路\(:3\)
| 题目 | 简述 |
|---|---|
| \(LUOGU4304\) | 二分图最大匹配 |
| \(LUOGU1642\) | 树转序列,\(0/1\)分数规划 |
| \(BSOJ3959\) | 最小割 |
| \(LUOGU4553\) | 上下界费用流 |
【第一题】
题意:给定棋盘上一些可放置棋子位置,其中在放置棋子的日字八个位置不能放棋
思路:套路黑白染色后求最大匹配
注意:时间上:用\(Dinic\)而不能用\(Hungary\)
空间上:开\(2*n*n\)
【第二题】
题意:求:一个\(n\)点有\(v,w\)点权的树上,点数为\(n-m\)的子树中\(\frac{\sum w_i}{\sum v_i}\)最大的值
思路:看到分数最值的题应该自然想到\(0/1\)分数规划,顺便温习一下其推导过程
另设\(\frac{\sum w_i}{\sum v_i}=\lambda\)
则$\sum w_i-\lambda \ast \sum v_i=0 $
令$g(x)=max(\sum w_i-x \ast \sum v_i) $
可证明\(g(x)\)单调递减
则对当前二分值\(mid\)对\(g(mid)\)分三类
\(g(mid)>0 <=> mid<\lambda\)
\(g(mid)<0 <=> mid>\lambda\)
\(g(mid)=0 <=> mid=\lambda\)
即可二分解决
而对于确定的\(mid\)解决\(g(mid)\)被转化成了树上的资源分配问题(背包)
可以设\(dp(x,i)\)表示以\(x\)为根子树(\(x\)要取)中取\(i\)点的最大值
则\(dp(x,i)=max(dp(y,j)+dp(x,i-j))(y\mid y\)为x儿子\(,j\mid 1\leq j \leq i)\)
相同于背包\(dp\)的j要倒序枚举才正确
【第三题】
题意:给定一个边带正权的\(M\)边\(N\)点连通无向图\(G=(V,E)\),加入一条边\((u->v)\)边权为\(l\),那么需要删掉最少多少条边,才能够使得这条边既可能出现在最小生成树上,也可能出现在最大生成树上?
思路:先举最小生成树的例子:考虑最小生成树上链接两个联通块间的最短边
因此,如果加入\((u->v)\)这条边连接\(u\)所在集合\(U\)与\(v\)所在集合\(V\)的边一定小于等于\(l\)不然就违背最小生成树定义,因此需要删去的边是权值\(<l\)并连接\(U\) \(V\)两个联通块的边,令其最小即是\(U\) \(V\)间最小割定义
最大生成树亦然,只需选出权值\(>l\)并连接\(U\) \(V\)两个联通块的边
步骤:
1.选出权值\(<l\)并连接\(U\) \(V\)两个联通块的边,求\(s=u->t=v\)最小割
2.选出权值\(>l\)并连接\(U\) \(V\)两个联通块的边,求\(s=u->t=v\)最小割
【第四题】
题意:过于复杂,查看原题
思路:这道题我们考虑上下界费用流建模。
首先将每个点拆成\(a_i\)和\(a_i'\),分别用来限制入度\((\leq m)\)出度\((=v_i)\)
超级源点向\(a_i\)连一条容量为\(v_i\),费用为\(0\)的边;
\(a_i'\)向超级汇点连一条容量为\(v_i\),费用为\(0\)的边;
源点向\(a_i\)连一条容量为\(INF\),费用为\(0\)的边;
\(a_i'\)向汇点连一条容量为\(INF\),费用为0的边。
对于原图一条\(x->y\),费用为\(w\)的边:
\(x'\)向\(y\)连一条容量为\(INF\),费用为\(w\)的边。
【小结】
这次考了\(3\)道网络流题,\(1\)道\(0/1\)分数规划问题
说明两个问题:
1.知识掌握不够熟练 : \(0/1\)分数规划问题讨论思路
2.思路不够宽 : 最小割转化思想
对过去知识要灵活运用,不要局限套路做法,分析题目本质,步步踏实才是王道
【推进练习】
上下界费用流:\(BSOJ5313\)
\(T4\)类似建图:\(BSOJ3303\)
\(0/1\)分数规划两题:
\(0/1\)分数规划+背包 \(LUOGU4377\)
\(0/1\)分数规划+树上背包 最佳团体\(LUOGU4322\)
2019/2/18 Test的更多相关文章
- 2019.3.18考试&2019.3.19考试&2019.3.21考试
2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 哇说的简单,码了将近一下午终于码出来了 感觉自己码力/写题策略太糟糕了,先是搞了一个细节太多的写法最后不得不弃疗了,然后第二 ...
- MySQL存储过程-2019/7/18
MySQL 5.0 版本开始支持存储过程. 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象. 存储过程是为了完成特定功能的SQL语句集,经编 ...
- 6362. 【NOIP2019模拟2019.9.18】数星星
题目描述 题解 一种好想/好写/跑得比**记者还快的做法: 对所有询问排序,按照R递增的顺序来处理 维护每个点最后一次被覆盖的时间,显然当前右端点为R时的答案为所有时间≥L的点的权值之和 LCT随便覆 ...
- HPU积分赛 2019.8.18
A题 给出n个数,问这n个数能不能分成奇数个连续的长度为奇数并且首尾均为奇数的序列 Codeforces849A 题解传送门 代码 1 #include <bits/stdc++.h> 2 ...
- 2019/4/18 wen 线程
- Python脱产8期 Day06 2019/4/18
一 深浅拷贝 例:ls = [1, 'abc', [10]] 1.值拷贝:s1 = ls # ls1直接将ls中存放的地址拿过来,>ls内部的值发生任何变化,ls1都会随之变化. 2.浅拷 ...
- [hgoi#2019/2/18]比较水
T1--调换纸牌(card) Alex有 n张纸牌,每张纸牌上都有一个值ai,Alex把这些纸牌排成一排,希望将纸牌按值从小到大的顺序排好.现在他把这个任务交给你,你只能进行一种操作:选中一张牌,然后 ...
- 2019.03.18 连接my sql
11.登陆功能(链接MySQL) python manage.py starapp movie 新建一个应用模块之后要记得到setting添加这个应用模块 在python2中你还有去导入一个MySQL ...
- 2019.04.18 第六次训练 【2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification Stage】
题目链接: https://codeforces.com/gym/101911 又补了set的一个知识点,erase(it)之后it这个地址就不存在了,再引用的话就会RE A: ✅ B: ✅ C: ...
- 2019.4.18 HTML + CSS相关整理
目录 标签 块标签 行标签 行块转化 嵌套规则 css引入方式 行间样式 内部引入 外部引入 选择器 基础选择器 组合选择器 盒模型 css样式 字体属性 设置字体的大小 设置字体的粗细 设置字体的风 ...
随机推荐
- 为什么Redis单线程却能支撑高并发?
作者:Draveness 原文链接:draveness.me/redis-io-multiplexing 最近在看 UNIX 网络编程并研究了一下 Redis 的实现,感觉 Redis 的源代码十分适 ...
- pycharm django使用技巧
- 『Go基础』第6节 注释
在上一节中, 我们学会了怎样写一个 Hello Go . 但是, 大家有可能还没有明白为什么那么写, 下面我们通过注释来了解一下. 注释的重要性不再过多赘述, 一段不写注释的代码读起来实在难受. 那么 ...
- centos7+ 在线yum安装docker-ce
yum install -y yum-utils //扩展yum功能 yum-config-manager --add-repo http://mirrors.aliyun.com/docker- ...
- GRE
第一个技术是GRE,全称Generic Routing Encapsulation,它是一种IP-over-IP的隧道技术.它将IP包封装在GRE包里,外面加上IP头,在隧道的一端封装数据包,并在通路 ...
- 配置Setting.xml文件提高maven更新下载jar包速度
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...
- [C#] 匿名方法的方便和安全
static void Main(string[] args) { int count = 5; //不安全写法 Task.Run(() => { Thread.Sleep(1000); Con ...
- Python3 MySQL
首先安装pymysql pip install pymysql 准备数据库:创建一个数据库testdb mysql实例: import pymysql #打开数据库连接,使用数据库所在的IP127. ...
- 浅谈Vue.js2.0某些概念
Vue.js2.0是一套构建用户界面的渐进式框架,目标是实现数据驱动和组件系统. A 渐进式框架 Vue.js是一个提供MVVM数据双向绑定的库,只专注于UI层面,这是它的核心.它本身没有解决SP ...
- LINQ按多列分组(Group By)并计算总和(Sum) (转载)
来源:https://codedefault.com/2018/group-by-multiple-columns-and-sum-in-csharp .NET[C#]LINQ按多列分组(Group ...