首页 > 其他分享 >闲话 22.12.14

闲话 22.12.14

时间:2022-12-14 20:57:37浏览次数:59  
标签:14 cin int 闲话 t2 adde t1 22.12 inf

闲话

啊啊啊数数题的式子和含义怎么也对不上啊啊啊
有好心人给我具体讲讲他在说啥吗?

感觉最近这两天的闲话比较低质量
在我啃明白这个前不是很可能高质量(
对了顺便问个(可能很sb)的问题
image

为啥这要乘 \((i-1)!\) 啊

翻旧闲话好像看到 CF1515E 能代数工业 \(O(n\log n)\)?
求大佬浇浇

杂题

星际竞速

感觉这题挺刻意的。

每个星球恰好经过一次:拆出入点,点间连边 \(1\) 流量,\(0\) 费用
空间跳跃:源点跳跃到每个星球流量是 \(1\),费用是跳跃的费用,每个星球都能直接跳到汇点,费用是 \(0\)。
高速航行:直接连边就行。
建完边跑最小费用最大流即可。

挺板的一题的。注意 \(u < v\),要不然你连样例都过不去。

code
int M, s, t, n, m, t1, t2, t3, t4;

signed main() {
    ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
    cin >> n >> m;
    M = n * 2; 
    s = ++ M, t = ++ M;
    rep(i,1,n) cin >> t1, adde(s, (i << 1) - 1, 1, t1);
    rep(i,1,n) adde(s, (i << 1), 1, 0), adde((i << 1) - 1, t, 1, 0);
    rep(i,1,m) {
        cin >> t1 >> t2 >> t3; if (t1 > t2) swap(t1, t2);
        adde(t1 << 1, (t2 << 1) - 1, 1, t3);
    } 
    Dinic(s, t);
    cout << min_cost << '\n';
}



狼抓兔子

一眼最小割模型。但是数据加强一点你的多路增广 Dinic 就过不去了。因此考虑最小割的含义。

这是个平面图,因此最小割退化,我们可以用一条曲线穿过极多的最小割对应边的中点,这条曲线将整张图分为两部分。同样的,这条曲线是从左下到右上穿过平面图时所穿过的边权的最小值。这让我们想到最短路。
引入对偶图概念。我们将图上每个面构成一个点,点间的边是原图的边顺时针旋转 \(90°\) 得到的边。以左下角和右上角的无限大平面为源汇点,我们跑最短路就能得到答案。

听说很恶心?所以没实现。海拔我写了。



志愿者招募

挺好玩的一道题欸。

费用流比较一眼。然后我们 \(s\to 1\to 2\to \cdots\to n+1\to t\) 顺次连起来,\(i\to i+1\) 连 \(\inf - a_i\) 流,\(0\) 费用的边,起点终点都连 \(\inf\) 流 \(0\) 费的边。
然后是招人。招人 \([l,r,w]\) 就 \(l\to r\) 连 \(\inf\) 流 \(w\) 费的边。
看懂为啥都要连边权那么大的边了吗?最大流所以肯定 \(\inf\) 是要跑满的,但是想不花钱跑到 \(\inf\) 是不可能的,这就转化成了经典费用流了,正确性显然。

“但这并不是我的特长!”

code
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i,s,t) for (register int i = (s), i##_ = (t) + 1; i < i##_; ++ i)
#define pre(i,s,t) for (register int i = (s), i##_ = (t) - 1; i > i##_; -- i)
int M, s, t, n, m, t1, t2, t3, t4;
const int N = 1e6, inf = 1e18;

signed main() {
	cin >> n >> m;
    M = n + 1; s = ++ M, t = ++ M;
    adde(s, 1, inf, 0);
    rep(i,1,n) cin >> t1, adde(i, i + 1, inf - t1, 0);
    adde(n + 1, t, inf, 0);
    rep(i,1,m) cin >> t1 >> t2 >> t3, adde(t1, t2 + 1, inf, t3);
    Dinic(s, t);
    cout << min_cost << endl;
}

标签:14,cin,int,闲话,t2,adde,t1,22.12,inf
From: https://www.cnblogs.com/joke3579/p/chitchat221214.html

相关文章

  • [AHOI2014/JSOI2014]骑士游戏
    链接:https://www.luogu.com.cn/problem/P4042题目描述:对于一个怪物$i$,可以花费$c_{i}$的代价将其变为一个怪物集合,或花费$c2_{i}$的代价消灭他。求消灭怪物$1$的最小代......
  • 网络编程1.4-端口-2022-12-14
     端口表示计算机一个程序的进程。  -不同的进程有不同的端口,端口号不能重复,用来区分软件 -被规定0-65535  -TCPUDP各为65535,两个类端口号可以相同端口......
  • 12.14
    今日内容1.模板层之标签2.自定义过滤器、标签及inclusion_tag(了解)3.模板的继承与导入4.模型层准备5.ORM常用关键字1.模板层之标签if判断if,elif和else{%if条......
  • AtCoder Regular Contest 143 E Reversi
    AtCoder传送门洛谷传送门翻转一个点会把它相邻的点全部翻转,因此先从叶子开始自下而上考虑。不难发现,如果这个叶子是白色,那么它一定比它的父亲先翻转(否则它就翻不了了);而......
  • 12.14学习总结
    缓存更新策略缓存更新是redis为了节约内存而设计出来的一个东西,主要是因为内存数据宝贵,当我们向redis插入太多数据,此时就可能会导致缓存中的数据过多,所以redis会对部分数......
  • 网络编程-2022-12-14
    一、网络编程基础TCPUDP编程    TCP英文叫TransmissionControlProtocol,中文叫传输控制协议,它其实就是一种网络传输协议。1、计算机网络:多台计算机地理位置不......
  • 12月14日内容总结——
    一、模板层之标签分支结构if{%if条件1(可以自己写也可以用传递过来的数据)%}<p>今天又是周三了</p>{%elif条件2(可以自己写也可以用传递过来的数据)%}......
  • django.db.utils.DataError: (1406, "Data too long for column 'password' at row 1"
    问题: pythonmanage.pycreatesuperuser 无法创建超级用户报错:django.db.utils.DataError:(1406,"Datatoolongforcolumn'password'atrow1")问题原因:用户模......
  • 14-咸鱼学Java-面向对象基础:类
    类类就相当于自定义类型,有自己的数据域,有自己的方法。属于一种用户自定义类型。类的目的就是模拟现实中存在的物体,如一个Person类,一个人他有自己的名字,年龄,性别等等,他有自己......
  • 2022-12-14 #12 墙角折枝不认命的枝桠 深灰色沙土中书写描画
    确实。67P5163WD与地图/Ptz2018Day8YuhaoDuContest5L一个经典的内核包装了几层。gym题与这道题内核类似,就只说P5163的做法了。时光倒流变成加边,我们事实......