zoukankan      html  css  js  c++  java
  • 刷题第2天

    CF 590D Top Secret Task

    题目

    给一个长度为n的数组,可以交换s次相邻元素,求前k个元素和最小为多少

    $1 leqslant k leqslant n leqslant 150, 1 leqslant s leqslant 10^9$

    $1leqslant q_i leqslant 1000000$

    想办法选一些元素作为前k个元素,那么交换的次数就很好计算,并且两个选中的元素顺序不会变

    然后想到背包,dp即可

    CF 333D Characteristics of Rectangles

    题目

    给一个m*n的矩阵,选择一个矩形,使这个矩形四个角的数的最小值最大。

    $2leqslant m,nleqslant 1000$

    $0leqslant a_{i,j} leqslant 10^9$

    先二分,然后很吓人,实际上想想最坏情况(比较精确)是什么样子。

    有一列相同,剩下的列都不同,那么最多m+n个要选择的数字,C(m+n,2)=O((m+n)^2),可以直接暴力统计过。

    CF 1365F Swaps Again

    题目

    给一个数组,可以多次交换最前k个数和最后k个数($1 le k le lfloorfrac{n}{2} floor$)

    问能不能变成另外一个数组。

    发现无论怎么交换,考虑前面的p和后面的q,p从前往后数的位置和q从后往前数的位置如果一开始就不同,那么怎么都不可能变成相同

    而如果相同,可以对称地向外或者向内移动

    那么只需要判断对称的位置就行了,再考虑一下简单的问题,比如:每种元素个数都相同,奇数的时候最中间元素也要相同

  • 相关阅读:
    vue-cli3 set vue.config.js
    oracle 基本查询语句及实例
    输出流啊输入流
    java线程
    sql基础
    抽象类和接口
    重载和重写的区别
    简单的java面向对象计算器
    运算符的优先级
    隐式类型转换规则
  • 原文地址:https://www.cnblogs.com/sahdsg/p/14145523.html
Copyright © 2011-2022 走看看