首页 > 其他分享 >势能相关做题记录

势能相关做题记录

时间:2024-02-14 10:11:35浏览次数:36  
标签:Johnson 势能 题意 格子 记录 短路 相关 全源

势能相关

P5905 【模板】全源最短路(Johnson)

题意:有负权情况下的全源最短路。

思路:Johnson 全源最短路可以在 \(O(nm\log m)\) 的复杂度内解决带有负权的全源最短路。

这个算法的巧妙之处在于为每个点赋予 势能 \(h_i\)。从一个点到另一个点,无论走什么路径,势能的变化量都是一定的。于是我们被每条边的边权改为 \(w_i+h_u-h_v\),然后先用 SPFA 求出 \(h\),这样每条边都是非负的,可以跑 \(n\) 遍 Dijkstra 来求解。

P1861 星之器

题意:有 \(n\times m\) 的网格,每次操作可以让每一行或者每一列的不相邻的两个格子,让这两个格子减一,让与这两个格子相邻且在中间的两个格子减一,每次操作的贡献是两个格子的距离,给出初始状态和末状态,求最大贡献。

思路:神题。

可以发现答案与操作的方式无关,只与初、末状态有关,于是可以想到用势能来刻画。

设 \(f(x,y)\) 为 \((x,y)\) 的势能,那么总势能就是每个点势能的加和,而且 \(x,y\) 两维是独立的。

单独考虑 \(x\) 维。根据操作,有 \(f(x_1)+f(x_2)-f(x_1+1)-f(x_2-1)=x_2-x_1-1\),移项就是 \(f(x_1+1)-f(x_1)-(x_1+1)=f(x_2)-f(x_2-1)-x_2\),即 \(f(x-1)-f(x)-x\) 为定值,那么不妨就当做 0,这样推出来 \(f(x)=\dfrac{x^2+x}{2}\),于是 \(f(x,y)=\dfrac{x^2+x+y^2+y}{2}\),把所有的加起来就是答案。

标签:Johnson,势能,题意,格子,记录,短路,相关,全源
From: https://www.cnblogs.com/Xttttr/p/18015056

相关文章

  • 数学题做题记录
    数学主要是计数和数论函数相关。[AGC031F]WalkonGraph题意:有一张\(n\)个点\(m\)条边的无向连通图\(G\),每条边有长度\(L_i\),有一个人在上面游走。有\(q\)组询问,每组询问给出\(s_i,t_i,r_i\),询问是否存在一条从\(s_i\)出发到\(t_i\)结束且长度为\(r_i\)的路径......
  • manjaro 开机黑屏问题记录
    环境信息系统:manjaro-kde6.6.12-1-MANJARO显卡:RadeonRX5802048SP问题描述偶现开机黑屏,无法进入登录界面,无法进入tty检查/var/log/Xorg.0.log日志,可以发现以下异常信息:AMDGPU(0):getvblankcounterfailed:Invalidargument很有可能是AMD图形驱动模块AMDGPU......
  • Vue3杂碎知识记录
    vue引入bootstrap当卸载App.vue里不行的时候就还可以写在main.js里导入bootstrap的时候写在main.js里,(还要添加依赖@popperjs/core)import'bootstrap/dist/css/bootstrap.css';import'bootstrap/dist/js/bootstrap';//注意js文件也要引入进来写在vue的script里面不行,要......
  • sublimetext 使用中遇到的问题记录
    sublimetext使用关键词:应该是编码过程中出现了系统问题,所以导致无法正常运行,才会显示“unregistered”(未登记、未注册)。sublimetext本身是不支持中文编码的,所以要解决“unregistered”的问题,需要通过安装插件来解决。具体步骤是:打开这个文件,并确认它的编码是UTF-8。然后选择......
  • 树莓派相关配置
    树莓派配置记录1、网络配置系统为ubuntu16.04,配置wifi连接固定wifi网络,以及配置静态IP方便ssh登录,配置步骤:sudovim/etc/network/interfaces添加以下内容:autowlan0allow-hotplugwlan0ifacewlan0inetstaticaddress192.168.x.xxnetmask255.255.255.0gateway......
  • php调用sql server过程记录
    更新微软源,需要安装微软的底层库curlhttps://packages.microsoft.com/config/rhel/7/prod.repo>/etc/yum.repos.d/mssqlrelease.repo安装依赖底层库yuminstall-ymsodbcsqlmssql-toolsunixODBC-devel根据php版本选择对应的pdo_sqlsrv扩展版本,查询地址为http://pecl.ph......
  • 小米手机 adb shell 用户 组 相关命令和输出记录
    cas:/$iduid=2000(shell)gid=2000(shell)groups=2000(shell),1004(input),1007(log),1011(adb),1015(sdcard_rw),1028(sdcard_r),3001(net_bt_admin),3002(net_bt),3003(inet),3006(net_bw_stats),3009(readproc),3011(uhid)context=u:r:shell:s0cas:/$groupsinputlog......
  • 爬虫_052_爬虫相关概念介绍
    目录爬虫的定义爬虫就是一个程序,程序运行完成之后,就能够拿到你想要获取的数据。爬虫的奥义就是程序模拟浏览器。爬虫的核心爬虫的难点在于:解析数据。爬虫的用途社交类:陌陌一开始爬微博数据当假的用户。电商类:电商网站互相监控,互相降价。出行类:智行、飞......
  • [Kyana]Fedora使用记录
    删除旧内核:dnfremove--oldinstallonly重置密码密钥环不匹配:安装seahorse新建并默认,可以单独设置密码,记好优化和扩展:dnfinstallgnome-tweaksgnome-extensions-app推荐扩展:user-themeseye-and-mouse-extendedjust-perfectionnothing-to-saytransparent-window-moving......
  • 二十九、登录相关
    deflogin(request):ifrequest.method=='GET':form=account.LoginForm()returnrender(request,'login.html',{'form':form})else:form=account.LoginForm(request.POST)result={�......