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 阅读(323) 评论(0) 推荐(0) 编辑

Gym 100971B Derangement

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

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

导航