博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
机房测试8.17
阅读量:5037 次
发布时间:2019-06-12

本文共 754 字,大约阅读时间需要 2 分钟。

高斯消元

题目& 数据范围

1447768-20180817154021619-394837643.png

1447768-20180817154209349-2145943515.png

样例

num.1

in

4 5 2

1 2 3 1

out

12

num.2

in

1 9 2

1

out

1

num.3

in

3 10 2

1 2 1

out

0

解题法

就是模拟一波又一波。

第一波处理一个循环节内的消消乐情况。

模拟栈的结构,每读到一个数,将其推入栈中,判断是否满足消去条件,

满足就栈指针减k。

第二波处理头尾相消的情况。

两个指针,从两边往里走,能消则消。

然后就是每个循环剩余长度*(m-1)+仅去掉同一循环的剩余数的个数。

糖果镇

1447768-20180817170810670-687201450.png

1447768-20180817170825859-1072846213.png

当m<=2时,枚举分界点,预处理前缀和就好了。

对于另外20%,直接dp[i][j]表示到点i,j的最优答案。

对于100%,我们可以枚举第二次下行的分界点,然后我们可以统计出第一次下行的影响,就是第一行到x的前缀和减去第二行到x-1的前缀和,第二行就是到枚举端点的前缀和,这样在已知第二次下行的分界点时,第二行和第三行的贡献是已知的,我们只要找到模意义下第一行的最优贡献就好了,这个就可以用set维护,找前驱。

游戏

1447768-20180817171245374-388684376.png

通过题目可以发现,我们要求的就是在使用最小的点权的情况下选中所有边,每条边都可以被他的两个端点选中,且出入点权可能不同,于是就可以发现这是一个最小点权覆盖。

建边:

1> 先建立虚拟源S和汇T,把每个点拆成两个,ia,ib。
2> 从S向ia连一条流量为wi-的边,从ib向T连一条流量为wi+的边。
3> 原图中的边从ua向vb连一条流量无穷大的边。
4> 然后跑最大流即可。

总结

今天因为A-了第一题,所以Rank很高,但是我网络流竟然写错了,讲过的诶。

终于要放假了。

今晚八点,准时开车!

转载于:https://www.cnblogs.com/LoLiK/p/9494398.html

你可能感兴趣的文章
模块与包
查看>>
mysql忘记root密码
查看>>
安卓电量优化之AlarmManager使用全部解析
查看>>
apache服务器中设置目录不可访问
查看>>
嵌入式Linux驱动学习之路(十)字符设备驱动-my_led
查看>>
[bzoj1025][SCOI2009]游戏
查看>>
Python Web框架要点
查看>>
Sql查询利用表变量优化一例
查看>>
[luogu3155 CQOI2009] 叶子的染色(树形dp)
查看>>
LeetCode Golang 2. 两数相加
查看>>
python接口自动化测试--数据分离读取Excal指定单元格数据
查看>>
协作式取消 CancellationTokenSource
查看>>
XML
查看>>
【NOIP模拟】密码
查看>>
LuoguP3948 数据结构
查看>>
面象对象编程学习笔记(2)
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
DP入门——01背包 & 完全背包
查看>>
智能电视系列(4)-高通,天才与极限
查看>>
让entityframework.extend库同时支持mysql,sqlsever
查看>>