zoukankan      html  css  js  c++  java
  • Codeforces Round #374(div 2)

    A B:0.0

    C:题意:n个点m条边的DAG图(n,m<=5000),保证没有环且都连通,每个边有边权,求一条1->n的路径,使得经过的点最多,但边权和<=T(T<=10^9)

         分析:DAG图一般都能DP解决

          f[i][j]表示到了第i个点,已经经过了j个点花费的最少边权,last[i][j]就记录对应的决策

          阶段的分割就按照拓扑来,不过要注意刚开始不能只把1放进去,要把1和所有入度为0的点都放进去

                 最后扫一遍答案

                 值得一说的是按照题目给的边权范围,f数组是应该开long long的,但开long long会MLE,即使我把last数组人为改成动态vector,在有些点仍然会MLE

          然后我没办法了,只能改成int,然后……然后就A了……  

    D、题意:有n(n<=2e5)个数,有k次操作,每次操作将一个数+x或者-x,求最后新的数组乘积和最小是多少

         分析:贪心,如果当前乘积是正数(有偶数个负数),那么就把绝对值最小的那个数加x或者减x(如果这个数是正的,就减去x,反之加x)

                          如果当前乘积是复数(有奇数个负数),同理,处理绝对值最小的那个数(如果正的就加x,反之减去x)

                 要维护一个动态的数组的绝对值最小,显然维护一个priority_queue

  • 相关阅读:
    wpf 用c#代码给img指定uri
    c 指针作为出参
    wpf获得系统毫秒数
    绑定元素的长宽(Canvas的子类自动伸展)
    PB与COM之关于创建COM,MTS, and COM+组件(1)
    ASA破解密码
    遭遇奸商(显卡篇)
    “启动Word时提示出错,只能用安全模式才能打开”的解决方法
    PowerSocket对象与HostName
    制做集成SATA驱动的XP安装盘
  • 原文地址:https://www.cnblogs.com/wmrv587/p/5926410.html
Copyright © 2011-2022 走看看