摘要: 容易发现,对于牌堆里第x张牌,在一次洗牌后会变成2*x%(n+1)的位置。 于是问题就变成了求x*2^m%(n+1)=L,x在[1,n]范围内的解。 显然可以用扩展欧几里得求出。 # include <cstdio> # include <cstring> # include <cstdlib> # 阅读全文
posted @ 2017-05-16 22:21 free-loop 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 显然每次贪心的走最少消耗的路径即可。那么也就是找出最短路,次短路,,,K短路之后消耗E的能量的最多的路径条数。 也就是裸的A*算法。 #include <bits/stdc++.h> using namespace std; typedef double lf; const int N=5005, 阅读全文
posted @ 2017-05-16 14:03 free-loop 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 一道很经典的DP题。 题意:求n排列中波动排列的种数。 不妨考虑DP,令dp1[i][j],表示1-j的排列中,第一项为i之后递增的波动排列种数。dp2[i][j]表示1-j的排列中,第一项为i之后递减的波动排列种数。 显然有一个性质,dp1[i][j]=dp2[j+1-i][j],将各项用j+1减 阅读全文
posted @ 2017-05-16 11:24 free-loop 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 题意:给出m次n个千足虫的足数信息,确定在第几次测试后可以确定每个千足虫的来历。 我们可以观察到每个测试结果具有异或后依然成立的性质,于是实际上我们只需要从头到尾确定有n个线性相关的向量是在哪一个测试后出现。 也就是说,直到出现了n个线性基,此方程的自由变元的数量才为0,此方程才有唯一解。 所以,依 阅读全文
posted @ 2017-05-16 10:51 free-loop 阅读(250) 评论(0) 推荐(0) 编辑