摘要:
用dp来解决博弈问题这是第一次做,之前遇到一个博弈dp的题还没补。。设 $L_{i,j},R_{i,j}$ 分别表示在区间 $[i,j]$ 左右放上多少石子能让先手必败。首先这个 $L,R$ 肯定是唯一的,假设不唯一,即存在 $L_1,L_2$ 加在当前区间左端能使先手必败,设 $L_1>L_2$, 阅读全文
摘要:
网络流,源点向狼连容量为 $4$ 的边,羊向汇点连容量为 $4$ 的边,然后每个格子都向四周连容量为 $1$ 的边,最小割即为答案。 #include <bits/stdc++.h> const int N = 8e4 + 7; struct E { int v, ne, f; } e[N]; in 阅读全文
摘要:
题目老是没说清楚哇。。 把正面设为0,反面设为1,那么下一次得到的硬币就是左右两个硬币的异或和。 这种多次相邻进行异或的,大概就有个规律,多消几次能有规律。 模拟一下就发现,进行 $2^k$ 次操作之后,第 $i$ 个位置就是原序列 $i-2^k$ 和 $i+2^k$ 位置的异或和。 那么就对 $T 阅读全文
摘要:
$dp_i$ 表示在 $i$ 处建一个仓库之后的最小花费。转移方程为 $dp_i = \min \{dp_j + \sum \limits_{k=j+1}^{i-1}p_k\times(x_i-x_k)+c_i\}=\min \{dp_j + x_i\sum \limits_{k=j+1}^{i-1 阅读全文
摘要:
首先,不知道为什么用了 long double 之后在wsl和cmd跑出来的结果不一样。。看了老半天老是发现不了错。 把圆心平移到坐标原点方便后面计算。 预处理出每个粒子的轨迹,当前位置为 $p$,速度为 $v$,设碰撞点为 $q$,$q=p+tv$,可以得到方程 $(p_x + t v_x)^2 阅读全文