2015年12月21日

bzoj 1085: [SCOI2005]骑士精神 IDA*

摘要: 题目链接 给一个图, 目标位置是确定的, 问你能否在15步之内达到目标位置。 因为只有15步, 所以直接ida* #include<bits/stdc++.h> using namespace std; #define pb(x) push_back(x) #define ll long long 阅读全文

posted @ 2015-12-21 20:47 yohaha 阅读(154) 评论(0) 推荐(0) 编辑

bzoj 1066 : [SCOI2007]蜥蜴 网络流

摘要: 题目链接 给一个n*m的图, 里面每一个点代表一个石柱, 石柱有一个高度。 初始时有些石柱上面有蜥蜴, 蜥蜴可以跳到距离他曼哈顿距离小于等于d的任意一个石柱上,跳完后, 他原来所在的石柱高度会减一, 如果高度变为0, 那么石柱消失, 无法在跳到这个位置上, 跳到的那个石柱高度不会发生改变, 同一时刻 阅读全文

posted @ 2015-12-21 19:20 yohaha 阅读(277) 评论(0) 推荐(0) 编辑

bzoj 1303: [CQOI2009]中位数图

摘要: 题目链接 给n个数,一个值b, 统计所有以b为中位数的序列的个数。序列长度为奇数。数字在1-n之间, 每个数只出现一次。 如果一个数大于b, 那么将他赋值为1, 小于b赋值为-1, 记录数组中b出现的位置, 为pos。 具体看代码.......好难说清 #include<bits/stdc++.h> 阅读全文

posted @ 2015-12-21 17:02 yohaha 阅读(148) 评论(0) 推荐(0) 编辑

BUAA 更大公约数

摘要: 题目链接给一个n*m的矩阵, 删除里面的一行一列, 使得剩下的数的最大公约数最大。一个格子(x,y), 先预处理出(1,1)到这个格子的内所有数的最大公约数, 同理处理出(1, m), (n, m), (n, 1), 然后枚举格子中的每一个数, 具体看代码。#includeusing namespa... 阅读全文

posted @ 2015-12-21 13:45 yohaha 阅读(137) 评论(0) 推荐(0) 编辑

找出n个数中出现了奇数次的两个数

摘要: 如果是找只出现了奇数次的一个数, 那么我们从头异或一遍就可以。 那么如何找出现了奇数次的两个数呢?首先我们还是从头异或一遍, 然后结果肯定不为0, 对于异或出来的结果, 如果这个数的某一位是1, 说明出现了奇数次的那两个数在这一位上一个为0, 一个为1。 所以我们可以根据这个条件将原数组分为两个数组... 阅读全文

posted @ 2015-12-21 10:33 yohaha 阅读(1057) 评论(0) 推荐(0) 编辑

导航