- 博客(14)
- 收藏
- 关注
原创 camera_sim代码使用
欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体...
2019-07-17 18:36:09 421
原创 poj 3087 Shuffle'm Up
简单的模拟题, 据说可以用map水过, 不过想学一下字符串hash,写了一发hash, 其丑无比。。。 #include #include #include #include using namespace std; typedef unsigned long long ll; const int HASH = 10007; const int MAXN = 1010; co
2015-10-29 16:42:09 265
原创 poj 3126 Prime Path
简单广搜,练练代码把握能力,不能水题也要调半天了。。。。。 先将四位的素数筛选出来, 每次改变某一位数, 判断如果是素数入队,否则舍弃。 #include #include #include #include #include #include using namespace std; const int N = 1e4 + 10; bool is[N]; int fi
2015-10-29 15:14:06 302
原创 poj 1462 Find The Multiple
简单的BFS,一位一位的枚举,标记一下出现过的余数, 重复出现跳过。 #include #include #include #include #include using namespace std; int n; int vis[210]; struct node { int a[110]; int cnt; int r; }; int getR(node tmp) {
2015-10-29 12:48:44 305
原创 poj 3279 Fliptile
简单搜索题, 枚举第一行每个位置翻转或者不翻转,第一行状态确定后,后面每一行是否翻转只与前一行状态有关,第n - 1 行的黑色块只能在第n行翻转, 所以整个地图的状态可以确定。 #include #include #include #include using namespace std; const int N = 20; int Map[N][N]; int hit[N
2015-10-29 11:20:58 267
原创 hdu 4452 Running Rabbits
一道简单的模拟题,代码写得太水,卡了很长时间,碰上我这样的坑爹队友也是不幸啊 #include using namespace std; int mov[4][2] = {-1, 0, 0, -1, 1, 0, 0, 1}; map dir; int n; int check(int x, int y) { return x >= 1 && x = 1 && y <= n; } i
2015-10-28 23:21:16 307
原创 UESTC OJ 1086 邱老师降临小行星 记忆化搜索
刚开始没有考虑全为空的情况 WA 了好几发 #include using namespace std; const int N = 1e3 + 10; char Map[N][N]; int mov[4][2] = {1, 0, 0, -1, -1, 0, 0, 1}; int V[N][N][4][3]; int n, m; bool check(int x, int y) { i
2015-10-23 11:58:47 471
转载 lucas定理 模板
ll powMod(ll a, ll b, ll mod) { ll res = 1; while (b) { if (b & 1) res = (res * a) % mod; a = (a * a) % mod; b >>= 1; } return res; } ll comb(ll a, ll b, ll p) { if (a < b) return 0; if
2015-10-22 18:15:32 223
原创 HDU 1556 Color the ball (简单树状数组)
在l - r 区间内染色,可以在l处+1, 在r + 1 处 -1, 求第i个被染色多少次,即求前i项的和。 先用树状数组写了一发,后来发现,顺序输出所有的数,遍历一遍就可以了。 #include #include #include using namespace std; const int N = 1e5 + 10; int cnt[N]; int n; int lo
2015-10-08 14:19:55 297
原创 bnuoj 24250 Binary Operations (概率DP)
将数据分成一位一位的进行dp,统计到第n位为1的概率 #include #include #include using namespace std; typedef long long ll; const int N = 5 * 1e4 + 10; ll num[N]; double dpa[N], dpo[N], dpx[N]; int main() { int t; scanf(
2015-10-08 13:51:24 228
原创 LightOJ 1038 概率期望
根据题意可以知道 dp[i] = (dp[div[1]] + dp[div[2]] + dp[div[3]] + dp[div[4]] + .....+ dp[div[n]]) / n + 1, 其中div[j] 是i 的第i个因子, div[n] = i 化简一下, dp[i] = (所有因子的dp值之和 + 因子个数)/ (因子个数 - 1) , 可以先将所有期望值求出打表。 #i
2015-09-23 18:31:14 243
原创 LightOJ 1030 Discovering Gold 概率
一道比较简单的概率dp, dp[i]表示取第i个坑里的金子,总共可以得到的金子的期望值, dp[i] = weight[i] + (dp[i + 1] + dp[i + 2] + dp[i + 3] + dp[i + 4] + dp[i + 5] + dp[i + 6]) / 6,注意当最后不足六个的时候要特殊处理。 #include #include #include #incl
2015-09-22 20:00:04 336
原创 Lightoj 1027 A Dangerous Maze 概率期望
一道蛮不错的概率题目,求期望值, 设一共S个门,S1个是正整数, 花费ai的时间后可以退出游戏, S2个是负数, 花费ai时间回到起点, 期望 Y 就等于选到正数门的概率S1 / S乘上正数的平均值T1 加上 选到负数门的概率S2 / S乘上 负数绝对值的平均值T2 加上再选一次的期望 Y, 即 Y = S1 / S * T1 + S2 / S * (T2 + Y),化简一下, Y = (S1 *
2015-09-22 19:07:18 301
原创 POJ 1091 跳蚤
#include #include #include #include #include using namespace std; typedef long long ll; const int LEN = 1e4 + 10; bool is[LEN]; ll prime[LEN]; int cnt; vector v; ll qpow(int n, int m) { l
2015-09-17 21:23:49 248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人