zoukankan      html  css  js  c++  java
  • 从题意入手思路题

    [HAOI2008] 糖果传递

    有n个小朋友坐成一圈,每人有ai个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为1。

    求使所有人获得均等糖果的最小代价。

    第一行一个正整数n<=1'000'000,表示小朋友的个数.
    接下来n行,每行一个整数ai,表示第i个小朋友得到的糖果的颗数.
     
    其实,求什么设什么就好了。
    因为,一个人的糖果的变化,只能是和左边或者右边的人互动。
    设x[i]为第i+1个人,给第i个人的糖果数量(可以是负数)
    x[n]表示 ,第1个人给第n个人的糖果数量。
    然后就推式子就行了。
    类似设方程思想。

    [BZOJ1045] [HAOI2008] 糖果传递 (贪心)

    [ZJOI2006]物流运输

    一张图,n天,m个城市。每天从1~m走一次,花费路径长度的代价。

    某些地点会在一些天内不能通行。每变更一次方案,还要另花费k的代价。

    求n天总的最小代价。

    n(1<=n<=100)、m(1<=m<=20)

    因为,麻烦点就在路径方案的变化。所以,考虑枚举在第几天改变方案即可。

    因为一切都和天数有关系,所以,

    f[i]表示,前i天的最小方案。

    cos[i][j]表示,从i~j天,不换路线,1~n最短的路径

    f[i]=min(f[j]+cos[j+1][i]+k) 相当于枚举最后一次的路径走的天数。初值:f[i]=cos[1][i] (不行就是inf)

  • 相关阅读:
    递归获取指定盘符下的所有文件及文件夹
    单例模式和多线程有没有关系?
    eclipse启动tomcat时设置端口
    dozer转化对象
    枚举
    dubbo
    json
    配网失败问题
    esp_err_t esp_event_loop_init(system_event_cb_t cb, void *ctx);
    base64编码
  • 原文地址:https://www.cnblogs.com/Miracevin/p/9383425.html
Copyright © 2011-2022 走看看