zoukankan      html  css  js  c++  java
  • [codeforces/edu3]总结

    链接:http://codeforces.com/contest/609

    A题:

      贪心,从大到小选。

    B题:

      考虑对立面。$C_{sum}^2-sum{C_{a_i}^2}$

    C题:

      最终状态是确定的,从小到大贪心。不够就补,多了就挪。

    D题:

      二分时间,对于一个给定时间段,对于每种货币都选这段时间内最便宜的那天买。而对于两种货币的商品,都选其内部最便宜的一些去买,总共要买k本,枚举买多少本美元的,剩下的就要买英镑的了。

    E题:

      首先找出原始的最小生成树。那么对于每条边来说,如果这条边本来就在上面,结果就是最小生成树的权值。如果不在,那么加上它必然会生成一个环,去掉这个环上权值最大的那条边就可以了。至于怎么找最大的,可以用倍增的方式。

    F题:

      数据结构题。

      把青蛙按坐标从左到右排序。维护一棵线段树(区间最大值),每个位置表示这只青蛙最远能够到右边的哪里。

      来了一个蚊子,怎么判断被谁吃。可以用二分先找到有哪些青蛙可以吃它。然后在这段区间里用线段树二分,找到最左边的可以吃它的那只青蛙。

      如果不能被吃,就先把这只蚊子存进一个multiset里。以后每有一只青蛙被更新,就在set里看有哪些可以吃掉。

      要注意在线段树中查询的时候,要保证左端点小于等于右端点,否则会死循环。

  • 相关阅读:
    Git更新或提交出错的解决办法
    webpack简单学习的入门教程
    CentOS源码安装QT
    后台程序在向tty/串口写数据的时候stop了
    Linux signal 处理
    Linux C 获取 文件的大小
    Microsoft Excel 标题栏或首行锁定
    Socket连接何时需要断开
    Windows MFC 打开文本
    动态库的生产和调用
  • 原文地址:https://www.cnblogs.com/acmsong/p/7807950.html
Copyright © 2011-2022 走看看