zoukankan      html  css  js  c++  java
  • 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)

    A

    思路:

    贪心,每次要么选两个最大的,要么选三个,因为一个数(除了1)都可以拆成2和3相加,直到所有的数都相同就停止,这时就可以得到答案了;

     

    C:

    二分+bfs,二分答案,然后bfs找出距离小于等于当前要判断距离的点,把这些点标记后,再遍历按价格排好序的商店,从小到大选择价格低的,

    根据最后的数目和价格判断当前这个距离行不行,这样就可以得到答案了;

    G:

    思路:

    模拟,先判断是否可以放在要求的地方,不行的话就从前往后找能放的地方,这里可以把前面的区间[l,r]的右端点r+1当做当前区间的左端点,然后判断区间是否相交

    注意区间包含的情况;

     

    H:

    思路:

    暴力,对于要求选的那些项,首先长度要相同,然后判断每一位上的字符,如果都相同,那么就取这个字符,否则取问号,得到了需要的字符串后再跟其他的字符串匹配下,

    如果不能喝其他字符串匹配,那么就是符合要求的,否则就不是;

     

    I:

    思路:

    最小费用最大流,这样建图:源点s到[1,n]这些点的容量为1,费用为0,[1,n]这些点到两个点fg,fp,容量为1,费用分别为-a[i],-b[i];

    然后fg和fh分别到汇点t容量分别为g,h,费用为0,然后跑费用流的模板,跑完后再判断哪些点在哪个集合里就好了;这题还可以用dp搞,也可以学习一波;

    J:

    思路:

    dp,dp[i][j][k]表示前i个中选中了j个作为最后的那些瓶子,这j个瓶子的容积和为k的最少时间;

    转移的时候就是对于瓶子x,如果选它作为最后的瓶子,那么j和k就要加了,否则最少时间就要更新了;

    代码地址:

    点我点我~~~

  • 相关阅读:
    error_reporting(“E_ALL”)和ini_set(“display_errors”, “on”)的区别?
    linux命令awk的详解
    Ubuntu 能PING IP但不能PING主机域名的解决方法
    从github checkout子文件夹
    zuul简单使用
    docker for windows 10 添加阿里云镜像仓库无效问题
    Spring Boot 进行Bean Validate和Method Validate
    JVM调优-GC参数
    Spring Aop: 关于继承和execution target this @annotation
    ReentrantLock原理
  • 原文地址:https://www.cnblogs.com/zhangchengc919/p/5993358.html
Copyright © 2011-2022 走看看