HDU - 6630 permutation 2

HDU - 6630 permutation 2​ 求 $1\sim n$ 的满足以下条件的排列 $P$ 的个数:$P_{1}=x$$P_{n}=y$对于所有的 $i\in [1,n]$ 有 $|P_{i}-P_{i+1}|\leq 2$​ 不妨设 $x<y$(如果 $x>y$ 那就把排列 reverse 以下就可以了),我们肯定要遍历 $1\sim n$ 的,可以跳的距离

- 阅读全文 -

HDU - 6627 equation

HDU - 6627 equation​ 解带很多绝对值的一次方程,计算每个绝对值的零点,枚举 $x$ 在哪两个相邻零点构成的区间内,就可以拆开绝对值,算出解后需要验证是否合法。比赛时候写的很丑(#include <bits/stdc++.h> using namespace std; const int maxn = 2e5; int T, N, C; const doubl

- 阅读全文 -

HDU - 6625 three arrays

题目链接:three arrays​ 已知长度均为 $n$ 的数组 $A, B$,重新排列数组 $A,B$ 后,计算数组 $C$,使得 $C_{i}=A_{i}\ XOR\ B_{i}$,输出字典序最小的 $C$。​ 对于数组 $A,B$ 建立两棵01字典树,从 $A$ 中随便找个数字 $x_{0}$,在 $B$ 中找最接近 $x_{0}$ 的数字 $x_{1}$,再在 $A$ 中找最

- 阅读全文 -

HDU - 6624 fraction

题目链接告诉你 $p, x$ 求最小的 $a, b$,使得 $a \equiv bx(mod\ p)$。由于 $\frac{a}{b}\equiv x(mod \ p)$,引入 $y$ 有 $a=bx-py$,由于 $0<bx-py<b$ 可得 $\frac{p}{x}<\frac{b}{y}<\frac{p}{x-1}$,这个可以辗转相除法搞。我们考虑我们要找到最小的 $

- 阅读全文 -

CodeForces - 366C Dima and Salad

CodeForces - 366C每个糖果有两个数值 $a$, $b$ ,找到子集 $S$ 使得 $\frac{\sum _{i\subseteq S} a[i]}{\sum _{i\subseteq S} b[i]}=k$ ,求 $\sum _{i\subseteq S} a[i]$ 的最大值其实是个背包,我们可以得到 $a[i]-k*b[i]=0$ ,把 $a[i]-k*b[i]$ 作为背

- 阅读全文 -