题目链接 题解: 看到输出的第一行,显然就是最短路,n<=500随便乱搞都可以。而我们看他要使删边过后的代价最小。那么考虑怎样删边,就是删去1-n的最短路上的边。一开始我不知道删边怎么处理,看了题解才知道,这是用的是最基础的网络流。我们先枚举所有点,然后可以把在每一个在最短路上的点建一个新图,然后这 ...
分类:
其他好文 时间:
2019-10-10 22:03:04
阅读次数:
80
Description 物流公司要把一批货物从码头A运到码头B。由于货物量比较大,需要n天才能运完。货物运输过程中一般 要转停好几个码头。物流公司通常会设计一条固定的运输路线,以便对整个运输过程实施严格的管理和 跟踪。由于各种因素的存在,有的时候某个码头会无法装卸货物。这时候就必须修改运输路线,让货 ...
分类:
其他好文 时间:
2019-10-09 15:24:55
阅读次数:
101
首先能够想到是 状压dp模板 取 dp[state,i,j] 表示state状态下倒数第二个岛为i,最后一个岛为j时的最优解, num[state,i,j] 为相应的路径数目,其中 state 的二进制表示的i位为1表示岛i被访问过,反之为0。 则显然当有 边(i,j) 存在时,有如下初值可赋: d ...
分类:
其他好文 时间:
2019-10-09 12:54:57
阅读次数:
81
题意简述:有两个下标范围在$[0,2^n)$,值域为$[0, m)$的整数序列$a, b$。定义$c_i=\max_{j\operatorname{xor} k=i} f(a_j, b_k)$,其中$f(x, y)$是定义域和值域均为[0,m)的整数的二元函数,且$f(x, y)$的值均给定,求$c ...
分类:
其他好文 时间:
2019-10-09 12:46:32
阅读次数:
259
T1: 直接模拟。 记录当前位置及朝向,暴力累加即可。 但是每次memset可能会T,只能记录经过的点,然后一个一个清。 时间复杂度$O(nk)$。 T2: rvalue学长的题解很好。 链接一下Lockey大神的题解:这里。 T3: 将操作视为一个字符串,可以用hash做,然后就是简单的线段树区间 ...
分类:
其他好文 时间:
2019-10-08 18:40:50
阅读次数:
64
错误点: 10^5应该定义成100005,中间四个零 第二个循环需要指到n(≤n),因为学校的编号是1~n,注意细节! 如果只有两个数字,不需要用结构体 ...
分类:
其他好文 时间:
2019-10-07 21:47:41
阅读次数:
98
#include<bits/stdc++.h> using namespace std; #define N 10005 int a[N],n,k,q; struct LB{ int b[35]; LB(){memset(b,0,sizeof b);} int check(int x){ for(i... ...
分类:
其他好文 时间:
2019-10-07 00:39:26
阅读次数:
84
1>团伙 虚点+并查集 将i+n当做桥梁,作为敌人敌人关系转化的桥梁 朋友的朋友是朋友,朋友的敌人是敌人 敌人的敌人是朋友,敌人的朋友是敌人 2>关押罪犯 虚点+并查集 思路同上 方法二:二分算法 思路来自题目中的单调性, check就是由二分图的染色判断写出来的 3> ...
分类:
其他好文 时间:
2019-10-06 13:10:30
阅读次数:
69
考场上把这题丢去翻译了一下,然后自闭了…… 考完以后:嗯?有每条边最多经过两次的限制吗??~~日文题面写得很清楚的样子~~ ~~然而我看的英文题面~~ 按照套路先二分一个$ans$ 每条边最多只能经过两次,意味着必须遍历叶节点时,必须先遍历完同一棵子树的叶节点,考虑从下往上做 然后就是一个快乐的树形 ...
分类:
其他好文 时间:
2019-10-06 09:54:53
阅读次数:
84