zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 35

    Nearest Minimums

    相同的数里最小的数里的最小距离

    Solution

    Two Cakes

    Solution

    Three Garlands

    瞎比试

    Solution

    Inversion Counting

    先算出来最初逆序对个数,对于每次选择,如果选出的区间里数对个数为偶数个,则其中正序对和逆序对个数可能分别为(奇数+奇数)或(偶数+偶数),此时总的逆序对奇偶性不变;如果选出的区间里数对个数为奇数个,则其中正序对和逆序对个数可能分别为(奇数+偶数)或(偶数+奇数),此时总的逆序对奇偶性改变。

    Solution

    Stack Sorting

    显然,一个排列可以栈排序的条件是对于任意i<j<k,(a[j]>a[i] && a[i]>a[k])的值为假。

    只需保证在剩下n-k个数的插入过程中,不会产生新的导致无法栈排序的情况,然后对得到的序列进行验证即可。验证过程很简单,因为是一个排列,所以任意时刻栈是否需要弹出是完全确定的。

    设想已给出的前k个数中,最大的数为ai,剩下的n-k个数字中,最大数为aj,最小数为ak。如果ai<ak,只需将所有数字从大到小排序加入。如果ai>ak,那么在aj的右边不应该有小于ai的数字出现,所以aj及其右边的序列构造应为:把[ai+1,n]区间内未被选中的数字从大到小排列的结果,依此类推,可得其余的数字的排列。

    Solution

    Tree Destruction

    找到树的一条直径,之后树的其余部分可以看成挂在直径上的森林,对于不在直径上的点,其删除时应选择距离较远的直径端点,删除直径上的点所能得到最大值为d*(d-1)/2。

    设直径某一端点为s,其中两棵树分别挂在di和dj上,di上有叶节点ai,dj上有叶节点aj。若删除时不选直径端点而是选另一棵树上的叶节点得到的价值更大,

    Solution

    Mass Change Queries

    想不出来,操作必须按顺序进行,这点很烦,但是这题可以通过编译时加优化选项朴素过。

    Solution

  • 相关阅读:
    python之ConfigParser模块
    python之os模块
    python之cx_oracle模块
    python之zipfile模块
    python之sys模块
    python相关模块链接
    Server.UrlPathEncode和Server.UrlEncode的区别
    设置或者得到CheckBoxList选中了的值
    一些数据格式化-Eval( " ")和DataBinder.Eval(Container.DataItem, " ")的区别及用法
    ADO中数据库连接字符串的几种写法
  • 原文地址:https://www.cnblogs.com/dramstadt/p/8135367.html
Copyright © 2011-2022 走看看