2016年8月29日

URAL 2080 Wallet

摘要: 找规律发现只要找到两个相同数字之间,有多少个不同的数字,即为答案。 可以用树状数组离线处理。 坑点是卡有很多张,没用完的情况,后面的卡直接放在哪里, 就是 10 5 1 2 3 4 5 这样 开始数据要输出到10 #include <cstdio> #include <cstdlib> #inclu 阅读全文

posted @ 2016-08-29 00:11 stupid_one 阅读(347) 评论(0) 推荐(0)

2016年8月28日

Gym 100971D Laying Cables 二分 || 单调栈

摘要: 要求找出每个a[i],找到离他最近而且权值比它大的点,若距离相同,输出权利最大的那个 我的做法有点复杂,时间也要500+ms,因为只要时间花在了map上。 具体思路是模拟一颗树的建立过程,对于权值最大的那个,必须是-1,次大的那个,必须是pos_peo[mx];就是最大人口的节点id、 然后维护一个 阅读全文

posted @ 2016-08-28 20:34 stupid_one 阅读(335) 评论(0) 推荐(0)

Gym 100971B Derangement

摘要: 要求改换序列,使得没有位置是a[i] == i成立。输出最小要换的步数 首先把a[i] == i的位置记录起来,然后两两互相换就可以了。 对于是奇数的情况,和它前一个换或者后一个换就可以,(注意前一个越界或者后一个越界) 这样是不会重复的,因为本来i是a[i] == i的话,换了一个,是不会使得他们 阅读全文

posted @ 2016-08-28 19:42 stupid_one 阅读(198) 评论(0) 推荐(0)

2016年8月27日

Gym 100886J Sockets 二分答案 + 贪心

摘要: Description standard input/outputStatements Valera has only one electrical socket in his flat. He also has m devices which require electricity to work 阅读全文

posted @ 2016-08-27 22:37 stupid_one 阅读(381) 评论(0) 推荐(0)

UVALive 5983 二分答案+dp

摘要: 想了很久都想不出怎么dp,然后发现有些例子,如果你开始不确定起始值的话,是不能dp的,每种状态都有可能,所以只能二分一个答案,确定开始的val值,来dp了。 #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath 阅读全文

posted @ 2016-08-27 10:00 stupid_one 阅读(185) 评论(0) 推荐(0)

2016年8月26日

UVA 5986 - Wizarding Duel 超级脑洞题

摘要: 给出n个人,每个人两两比赛一场,一共有C(n,2)场比赛,现在给出一个榜,问其是否合法。不合法的话,就改成合法,输出最小需要改的变化。 分数一定是C(n,2)的了, 不和法的情况,比如0,0,2,是不行的,因为如果第一个人没赢过,那么第二个人绝对有赢过,起码赢了1啊,所以这个是不合法的。那么怎么做呢 阅读全文

posted @ 2016-08-26 23:29 stupid_one 阅读(235) 评论(0) 推荐(0)

2016年8月24日

SPOJ 3267: DQUERY 树状数组,离线算法

摘要: 给出q个询问,询问一段区间里面的不同元素的个数有多少个。 离线做,用树状数组。 设树状数组的意义是:1--pos这个段区间的不用元素的种类数。怎么做?就是add(pos,1);在这个位置中+1,就是说这个位置上元素种类+1。 然后先把询问按R递增的顺序排序。因为这里是最优的,我每次尽量往R靠,使得查 阅读全文

posted @ 2016-08-24 23:39 stupid_one 阅读(225) 评论(0) 推荐(0)

URAL 2078 Bowling game

摘要: 阅读理解题,超级难懂 就是说一个人去打保龄球,有10个回合,然后每个回合是有2个球打的,叫我们算出能得的最低分和最高分。 我大概翻译下 好了,现在先求最小值,很容易,我每次都认为它是最后才打到a[i]个球的,那么值是最小的。也就是,它不是一个回合有两个球吗?你每次都认为它是第二个球打倒的,这样是最小 阅读全文

posted @ 2016-08-24 21:21 stupid_one 阅读(287) 评论(0) 推荐(0)

2016年8月23日

UVA - 12333 Revenge of Fibonacci 高精度加法 + 字典树

摘要: 题目:给定一个长度为40的数字,问其是否在前100000项fibonacci数的前缀 因为是前缀,容易想到字典树,同时因为数字的长度只有40,所以我们只要把fib数的前40位加入字典树即可。这里主要讨论下怎么得到fib数的前40位。 首先,因为没可能每一项的fib都求出来的了。空间都存不下来。所以, 阅读全文

posted @ 2016-08-23 22:53 stupid_one 阅读(360) 评论(0) 推荐(0)

2016年8月22日

HDU 5773 The All-purpose Zero 脑洞LIS

摘要: 给定一个序列,里面的0是可以任变的。问变化后最长的LIS的长度 首先,0全部选上是不亏的。这个不知道怎么说,YY一下吧。 最关键的就是解决2 0 0 3 这种问题了。 注意到这个序列的LIS应该是3 也就是你求LIS的时候,是不能包括0的,因为0是最后全部加上去的。这样你求到的LIS只能是1. 再来 阅读全文

posted @ 2016-08-22 22:08 stupid_one 阅读(175) 评论(0) 推荐(0)

导航