杂项
文章平均质量分 69
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 · 564 阅读 · 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 · 410 阅读 · 0 评论 -
【BZOJ1318】[Spoj744] Longest Permutation【杂项】
【题目链接】 因为答案一定包含1,那么枚举每个数,发现1就计算一次。 记录每个数和它相同的数的下一个位置next[i]。 先向后尽量多的取不重复的数。然后再去找前面。 可以发现答案数列中的最大值就是答案数列的长度,假设最大值在1的前面,向前枚举,不断用数去更新最大值,可以得到长度len。 注意要保证i + len - 1 然后判断[i, i + len - 1]的和是否等原创 2016-03-29 09:57:46 · 642 阅读 · 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 · 354 阅读 · 0 评论 -
【BZOJ1561】[JSOI2009]去括号【表达式相关】
【题目链接】 一开始按照判断括号是否可以去掉的方法写,对着数据调了无数个小时,也就只过了一个点。 后来问Claris(%%%%)要了代码,发现原来还可以这么搞。 先用栈处理出每个左或右括号对应的另一个右或左括号的下标。 然后求每个运算符的优先级。 具体是这样的: (1)定义一个临时变量j,表示当前位置的优先级,然后遍历表达式,初始j为1。 (2)进入一个括号j加2。(原创 2016-04-15 22:22:00 · 942 阅读 · 0 评论 -
【SPOJ-ARTHEVAL】Arithmetic Evaluation【表达式求值】
题目将难度降低了。 从左到右计算就好,不用在乎四则运算法则。 开一个数字栈,一个符号栈。 遇到数字,直接进数字栈。 遇到左括号,直接进符号栈。 遇到+-*号,如果符号栈顶元素不是左括号,那么先update(把符号栈顶元素取出来,把数字栈顶两个数字取出来,算完把结果放回数字栈),然后再把符号放到符号栈。 遇到右括号,一直update,直到遇到左括号,然后把左括号pop掉。原创 2016-02-18 22:52:59 · 501 阅读 · 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 · 294 阅读 · 0 评论