首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
3308专题
POJ 3308 最小割模型
还是棋盘上打外星人,这次不是最小点覆盖了, 给每个枪一个费用,选择一些行和列,最小费用打掉外星人 费用为所有费用的积 化费用积为 log 之和 最大流解决。 建图: s -> 行 -> 列 -> t 行列之间若有外形人 连一条容量无限大的边。(意思尾费用无限大) #include <stdio.h>#include <iostream>#include <queue>#
阅读更多...
POJ 3308 Paratroopers(最小割+Dinic)
题目链接:http://poj.org/problem?id=3308 题意:外星人来攻打地球了。。。外星人派了一些伞兵来攻占地球的兵工场,兵工厂是一个矩形网格,伞兵会降落在兵工厂的某个位置。地球人有激光武器,可以杀死一行或者一列的所有敌人。但是每个激光武器安置在每行每列的费用都是不同的。伞兵很厉害只要一个就可以消灭兵工厂,所以,现在要部署一套激光系统使得伞兵一降落就可以消灭所有敌人。并且要求费
阅读更多...
hdu(3308)LCIS
给定N个数,两种操作 U A B:把第A个数变为B(从0开始计数) Q A B :查询A到B内,最长的连续上升序列长度 向上更新部分要注意细节 对于左连续的话,可以由左孩子的左连续得来,但是可能包括右孩子的左连续,要进行判断左孩子的左连续是否是整个区间,而且中间的结合是否满足递增 右连续一样。 对于整个区间的最值,可能来源与左右孩子的最值,也可以来源于两个区间的中间部分。 更新
阅读更多...
hdu 3308线段树 区域合并
区域合并时需要考虑两点 1、pushup中区域合并时最左右递增长度(llen/rlen)等于整个区域长度(r - l)时需要重新计算父区域的最左右的递增长度 2、query中需要考虑区域合并接口处是否有可能产生ans值 #include<iostream>#include<stdio.h>#include<string>#include<string.h>using namesp
阅读更多...
SDUT 3308 最长01串
最长01串 Time Limit: 2666 ms; Memory Limit: 65536 KiB Problem Description 给定一个0-1串,请找到一个尽可能长的连续子串,其中包含的0与1的个数相等。 组数很多,注意常数优化。。。 Input 一个字符串,只包含01,长度不超过1000000 Output 一行一个整数,最长的0与1的个数相等的子串的长度。 S
阅读更多...
poj 3308 Paratroopers
题意:在一个矩阵中某些坐标点存在你的敌人,现有一些炮弹,他们可以摆在任意一行或者任意一列,并且可以消灭掉一行或者一列上的敌人。要求消灭掉所都敌人需要的最小花费。最小点覆盖:建立超级源点和每行连接,权值为放在该行炮弹的花费。建立超级汇点和每列连接,权值为放在该列炮弹的花费。存在敌人的行和列之间连一条边,权值为inf。跑一遍最小割。#include<cmath>#include<stdi
阅读更多...