摘要:
CF1251D Salary Changing 按照左端点从小到大排序,然后二分答案x贪心判断。 倒着扫 最优情况是(n/2+1)个x,其余数取左端点。 首先,如果这个节点的右端点比x大并且还没取满n/2+1个,优先把这个人的工资设成x,因为它的左端点一定没有l更小的优。 否则直接取左端点。 #in 阅读全文
摘要:
P2585 [ZJOI2006]三色二叉树 一道奇奇怪怪的动规,可以递推的树形动规。 输入比较奇葩,考虑递归建树。 对于有2个孩子的情况,可以看看遍历了几个节点,然后加一就是编号。 void build(int l) { if(l>n)return; ++tot; if(s[l]=='0')retu 阅读全文
摘要:
SP4033 PHONELST - Phone List Trie的经典题。 考虑在插入的时候直接查询掉。 如果插入时没有新建节点,说明它是某个串的前缀 插入完在末节点打个标记。 如果插入的时候遇上了标记,说明某个串是它的前缀 跑到底就输出YES 注意不能直接 break ,读入还是要读完 #inc 阅读全文
摘要:
远古文章,谨慎食用! 稍微修了一下但感觉还是很naive。。。 fhq-Trea,又名非旋Treap 思路简单,代码简短,功能强大,LCT会多个log,但是其他操作与Splay功能差不了多少,还支持可持久化。 每个节点一个随机权值,维持平衡性。内部权值是个BST(二叉搜索树),随机权值是个Heap( 阅读全文