杂项
文章平均质量分 70
BraketBN
这个作者很懒,什么都没留下…
展开
-
【BZOJ4236】JOIOJI【数学】【排序】【乱搞】
【题目链接】%%%【lych_cys的题解】/* Footprints In The Blood Soaked Snow */#include #include using namespace std;const int maxn = 200005;int n, si[maxn], sj[maxn], so[maxn];char str[maxn];struc原创 2016-03-31 17:24:01 · 584 阅读 · 0 评论 -
【POJ2926】Requirements【二进制】【最大曼哈顿距离】
【题目链接】手被烫伤了,只能一只手敲题了,随便敲个短的。论文题,见《浅谈信息学竞赛中的“0”和“1”》武森/* Pigonometry */#include #include using namespace std;typedef double DB;const int maxn = 100005, maxd = 7, inf = 0x3f3f3f3f;int n,原创 2016-04-03 21:59:23 · 426 阅读 · 0 评论 -
【BZOJ1318】[Spoj744] Longest Permutation【杂项】
【题目链接】因为答案一定包含1,那么枚举每个数,发现1就计算一次。记录每个数和它相同的数的下一个位置next[i]。先向后尽量多的取不重复的数。然后再去找前面。可以发现答案数列中的最大值就是答案数列的长度,假设最大值在1的前面,向前枚举,不断用数去更新最大值,可以得到长度len。注意要保证i + len - 1 然后判断[i, i + len - 1]的和是否等原创 2016-03-29 09:57:46 · 658 阅读 · 0 评论 -
【BZOJ3100】排列【杂项】
【题目链接】同【BZOJ1318】注意会卡空间.../* Footprints In The Blood Soaked Snow */#include #include using namespace std;typedef unsigned int uint;typedef long long LL;const int maxn = 1000005, inf = 0原创 2016-03-29 10:05:49 · 372 阅读 · 0 评论 -
【BZOJ1561】[JSOI2009]去括号【表达式相关】
【题目链接】一开始按照判断括号是否可以去掉的方法写,对着数据调了无数个小时,也就只过了一个点。后来问Claris(%%%%)要了代码,发现原来还可以这么搞。先用栈处理出每个左或右括号对应的另一个右或左括号的下标。然后求每个运算符的优先级。具体是这样的:(1)定义一个临时变量j,表示当前位置的优先级,然后遍历表达式,初始j为1。(2)进入一个括号j加2。(原创 2016-04-15 22:22:00 · 960 阅读 · 0 评论 -
【SPOJ-ARTHEVAL】Arithmetic Evaluation【表达式求值】
题目将难度降低了。从左到右计算就好,不用在乎四则运算法则。开一个数字栈,一个符号栈。遇到数字,直接进数字栈。遇到左括号,直接进符号栈。遇到+-*号,如果符号栈顶元素不是左括号,那么先update(把符号栈顶元素取出来,把数字栈顶两个数字取出来,算完把结果放回数字栈),然后再把符号放到符号栈。遇到右括号,一直update,直到遇到左括号,然后把左括号pop掉。原创 2016-02-18 22:52:59 · 514 阅读 · 0 评论 -
【BZOJ3573】[Hnoi2014]米特运输【乱搞】
【题目链接】设atr[u]表示,从根节点到u节点,缩小了多少次,即一路上每个节点的儿子个数之积。设val[u]表示,atr[u] × u的权值。val相等的点,如果其中一个点不改变权值的话,那么其他的点都不用改变。那么我们取val的众数,用n减去众数的个数就是答案。由于atr和val太大了,所以要取log。/* Telekinetic Forest Guard原创 2016-05-19 11:04:28 · 313 阅读 · 0 评论