icpc杂项
文章平均质量分 90
icpc杂项
惆怅客123
算法研究痴迷者,ai爱好者
展开
-
UVa1389/LA3709 Hard Life
最大密度子图是一种分数规划问题,需要用二分法求解。二分找零点的过程需要建图求最小割,可以转化为最大权闭合子图来求,不过有更好的办法:对原图的边(u,v)从u向v连一条容量为1的边(反向边容量也是1);源点s向每个结点x连容量为m(原图边数)的有向边;结点x向汇点t连容量为2λ−d x+m的边。原创 2024-09-06 08:44:52 · 721 阅读 · 0 评论 -
分数规划问题
分数规划用来求一个分式的极值。形象一点就是,每种物品有两个权值 a 和 b,选出若干个物品使得∑a/∑b最小/最大。分数规划问题的通用解法是二分。原创 2024-08-28 16:27:19 · 686 阅读 · 0 评论 -
UVa1667/LA3405 Network Mess
先处理1、2号叶结点,其距离为a[1][2],则有a[1][2]-1个初始非叶结点,且每个非叶结点i到1、2号叶结点的距离d[i][1]、d[i][2]都知道。再考虑加入3号叶节点多出来的那一个分支:先找出是从初始的a[1][2]-1个非叶结点哪一个结点开始延伸出来的,假设是结点x,则a[1][3]-a[2][3] == d[x][1]-d[x][2],后面需要再添加a[1][3]-d[x][1]-1个非叶结点,并且新添加的每个非叶结点k到1、2、3号叶结点的距离已知。原创 2024-08-22 18:44:40 · 609 阅读 · 0 评论 -
UVa1662/LA3513 Brackets Removal
先利用栈判定某层括号能否删除:此括号内无+、-运算或者左括号前无*、/ 且右括号后无*、/则可删除(注意删除括号后,其内+、-变成外层括号内的了);再利用栈处理去括号后运算符的变化并输出结果。去括号规则如下:若A和B是表达式,则A+(B)可变为A+B,A-(B)可变为A-B’,其中B’为B把顶层“+”与“-”互换得到;若A和B为乘法项(term),则A*(B)变为A。B,A/(B)变为A/B’。原创 2024-08-18 19:19:49 · 331 阅读 · 0 评论 -
UVa1661/LA4047 Equation
本题需要把后缀表达式转化成表达式树然后反复进行等式变换最后解出方程,输出是分数形式,要注意30个字符内的后缀表达式在计算中分子分母可能超出32位整数,因此要用64位整数。题目说“保证不会出现除以常数0的情况,即至少存在一个x,使得f(x)不会除0”说明在不含x的常数表达式运算中不会出现除以0(可以不进行运算合法性检验),但是含x的等式(0×f(x)=p/q, f(x)×0=p/q, 0÷f(x)=p/q)就需要检验了:p≠0时无解,p=0时有多解。原创 2024-08-15 22:31:35 · 678 阅读 · 0 评论