zoukankan      html  css  js  c++  java
  • 网络流 方阵移动

    Description

    操场可以看成一个平面直角坐标系,在操场上有n*n个同学。你希望将这n*n个同学排成一个间距为1的n*n的方阵,并且要求方阵的左边界在y轴上。每个同学在初始格点(xi,yi)上,可以移动到任何一个格点(xi’,yi’),耗费的体力值为(|xi-xi’|+|yi-yi’|)^p,xi,yi是整数,p是正整数。现在你想知道,将这n*n同学移动成符合要求的方阵的情况下,总共耗费的体力值最小是多少。

    Input

    每个测试点包含多组测试数据,第一行一个正整数t,表示有t组测试数据。接下来有t个部分。每个部分第一行两个正整数n,p,含义如上所述,接下来n*n行,每行两个整数,表示每个同学的坐标。

    Output

    输出t行,每行一个整数,表示这一组测试数据的总共耗费最小体力值。

    Sample Input

    2
    
    2 1
    
    0 2
    
    2 1
    
    3 1
    
    3 2
    
    2 2
    
    0 0
    
    0 1
    
    1 0
    
    2 2

    Sample Output

    6
    
    4
    
    【样例说明】
    
    Case #1:
    
    (2,1) -> (0,1)  cost 2
    
    (3,1) -> (1,1)  cost 2
    
    (3,2) -> (1,2)  cost 2
    
    Case #2:
    
    (2,2) - > (1,1)  cost 4
    
     

    Data Constraint

    真好呢,突然换题搞得只有三个小时考

    刚看时一脸懵逼

    只会3,4,7,8的40分

    暴力枚举方阵位置,跑费用流

    接下来思考特性

    感性(dabiao)发现当方阵位置变化,其最优值,是一个单峰函数(联想绝对值方程)

    单峰函数可以三分

    于是这就是一道三分费用流模板题。。。

  • 相关阅读:
    一个简单的禁止鼠标滚轮事件处理
    模仿抽奖转盘,并且用cookie记录历史次数
    学习jquery
    使用var提升变量声明
    Django 自带密码加密,自定密码加密方式 及自定义验证方式
    kindEditor使用并防止xss攻击(day88)
    python二维码生成库(qrcode)简介和实例
    js原型的区别
    js中 this与that
    python单元测试之unittest框架使用总结
  • 原文地址:https://www.cnblogs.com/Darknesses/p/12002532.html
Copyright © 2011-2022 走看看