06 2018 档案
摘要:看到全排列立马想到位置映射. 但是之后却卡住了, 想不出来怎么判断是否全部连续. 没办法, 暴力的写了一个vis数组判断, 果然TLE了. 看了看网上的代码, 其实挺简单的, 记录一下 l 和 r ,然后看看长度是否一致就ok. 我真傻啊 关于全排列的映射思想, 这儿也有一道不错的题 P1439 【
阅读全文
摘要:想了半天, 总是绕不开那个该死的O(N2). 看了看题解, 发现直接枚举每个单词的子串就ok了... 对啊..毕竟最长的单词 Pneumonoultramicroscopicsilicovolcanoconiosis(肺尘病) 也不过45个字母嘛... 所以啊, 想不出来的时候,可以考虑从相反的方向
阅读全文
摘要:给跪了..这个构造法... 最小的序列还是很好求的(顺便吐槽一下白书上的翻译有歧义把..怎么是划分呢..) 但是关于方案的输出, 本来想用个vector<pair<int, int> >暴力维护的, 结果看了网上的代码, 利用性质就行了啊!
阅读全文
摘要:关于这个题想强调一下这个时间点i的意义. 在二分中有这句话 while(cnt <= N && E[cnt].s < i) q.push(E[cnt++]); 我一开始不理解为什么起始时间严格小于 i 才能push进去, 网上好像也没有讲的. 自己手玩了一下, 才明白实际上 i 可以理解成第 i 天
阅读全文
摘要:基本方法网上有, 这里给出证明. 网上的证明基本都是瓶颈生成树, 但是并不能说明 " 任意生成树的第 i 大边不小于最小生成树的第 i 大边 " 证明: 考虑做Kruska 那么一条权值为v的边小于最小生成树里的第k条边 当且仅当只考虑权值小于等于v的边时图上连通块个数大于n-k 那么如果v是某个生
阅读全文
摘要:不错的贪心题. 方法也很简单, 排个序就行了. 像这样: 为什么呢? 首先, 易证满足排序的基础 : 传递性. 其实, 我们能发现, 这个比价函数排出来的序就是这俩的相对位置, 不会改变 (贪心). 如果 lhs + rhs < rhs + lhs, 那么就是说lhs + rhs组成的数大于rhs
阅读全文
摘要:模拟水题.熟悉一下multiset的用法.
阅读全文
摘要:模拟题. 但是可以借这题熟悉一下STL的list用法 首先, list有push_front 与 pop_front, 但显然, 这俩功能解决不了这个题 考虑使用迭代器和insert修改器. 查阅资料, insert插入单个元素时返回值为这个值的位置, 而且, iterator insert( it
阅读全文
摘要:难得的一A 与SPFA判负圈的思想类似. 记录一下入队次数就ok. 我想到的一些优化: 可以找到Q中最大的一个当做入队次数的上界. 因为是多次入队,选择SPFA而非dijkstra (dijkstra会多一个logn) 因为我懒, 以上优化并没有实现,因为在这个数据规模下随便怎么写都行啦
阅读全文
摘要:不错的最短路题.一开始没想到如何处理 "Mario NEVER super runs through a Castle" 这个条件,然后大力分类讨论. 在写了将近70行的状态扩展后,我放弃了. 实际上,这题没有这么麻烦.这个条件限制只用在floyd预处理的时候就可以解决了. 具体来说, 在floyd
阅读全文

浙公网安备 33010602011771号