首页 > 其他分享 >CF147B Smile House

CF147B Smile House

时间:2024-05-07 20:58:23浏览次数:20  
标签:tmp CF147B int House ans Smile

CF147B Smile House

dp+倍增优化

求最小正环,看到数据范围小,考虑 dp。设 \(f_{k,i,j}\) 表示走不超过 \(k\) 条边,\(i\) 走到 \(j\) 得到的最大权值。转移类似 floyd。答案是最小的 \(k\) 存在 \(f_{k,i,j}>0\),复杂度是 \(O(n^4)\)。

考虑优化状态的表示,记录边数这一维可以用倍增优化。将 \(f_{k,i,j}\) 表示为走不超过 \(2^k\) 条边,\(i\) 走到 \(j\) 得到的最大权值。转移简单。难点在求出答案,这时考虑贪心,从大到小枚举 \(k\),维护一个 \(g_{i,j}\) 表示当前走的边数为 \(ans\) 的状态,此时用 \(f_{k,i,j}\) 转移 \(g\),如果仍然没有最小正环,那么 \(ans\) 加上 \(2^k\);否则继续往下枚举 \(k\)。

复杂度 \(O(n^3\log n)\)。

typedef long long i64;
const i64 iinf = 0x3f3f3f3f, linf = 0x3f3f3f3f3f3f3f3f;
const int N = 310;
int n, m, ans;
int f[10][N][N], tmp[N][N], lst[N][N];
void Solve() {
	memset(f, -0x3f, sizeof(f));
	std::cin >> n >> m;
	for(int i = 1; i <= m; i++) {
		int x, y, z, w;
		std::cin >> x >> y >> z >> w;
		f[0][x][y] = z, f[0][y][x] = w;
	}
	for(int i = 1; i <= n; i++) f[0][i][i] = 0;
	for(int s = 1; s <= 9; s++) {
		for(int k = 1; k <= n; k++) {
			for(int i = 1; i <= n; i++) {
				for(int j = 1; j <= n; j++) {
					f[s][i][j] = std::max(f[s][i][j], f[s - 1][i][k] + f[s - 1][k][j]);
				}
			}
		}
	}
	memset(lst, -0x3f, sizeof(lst));
	for(int i = 1; i <= n; i++) lst[i][i] = 0; 
	for(int s = 9; s >= 0; s--) {
		memset(tmp, -0x3f, sizeof(tmp));
		for(int k = 1; k <= n; k++) {
			for(int i = 1; i <= n; i++) {
				for(int j = 1; j <= n; j++) {
					tmp[i][j] = std::max(tmp[i][j], lst[i][k] + f[s][k][j]);
				}
			}
		}
		bool flg = 0;
		for(int i = 1; i <= n; i++) {
			if(tmp[i][i] > 0) {
				flg = 1;
			}
		}
		if(!flg) {
			ans += (1 << s);
			for(int i = 1; i <= n; i++) {
				for(int j = 1; j <= n; j++) lst[i][j] = tmp[i][j]; 
			}
		} 
	}
	std::cout << (ans >= n ? 0 : ans + 1) << "\n";
}
int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    
	Solve();

	return 0;
}

标签:tmp,CF147B,int,House,ans,Smile
From: https://www.cnblogs.com/FireRaku/p/18178353

相关文章

  • 降本增效,火山引擎ByteHouse助力短剧广告投放效率提升5倍
    近几年来,短剧市场呈现出爆发式增长的态势,2023年中国网络微短剧市场规模为373.9亿元,同比上升267.65%。短剧涵盖爱情、历史、悬疑等各种题材,短小精悍特点也符合现代人快节奏、碎片化的生活方式,观众可以通过手机随时随地观看短剧,满足了不同群体的需求。 用数据分析出不同观众......
  • 使用@lakehouse-rs/flight-sql-client nodejs api 快速访问dremio 服务
    @lakehouse-rs/flight-sql-client是基于rust开发的nodearrowflightsqlclient,dremio目前也是推荐基于arrowflightsql的访问模式参考代码package.json{"name":"node-arrow-flight-sql","version":"1.0.0","ma......
  • 国内独家|阿里云瑶池发布ClickHouse企业版:云原生Serverless新体验
    日前,阿里云联合ClickHouseInc.成功举办了「ClickHouse企业版商业化发布会」。阿里云ClickHouse企业版是阿里云和ClickHouse原厂独家合作的存算分离的云原生版本,支持资源按需弹性Serverless,在帮助企业降低成本的同时,为企业带来更多商业价值。 在发布会上,阿里云数据库产品事业部......
  • 仓库管理系统(Warehouse Management System,WMS)
    仓库管理系统(WarehouseManagementSystem,简称WMS):一、定义仓库管理系统是一种用于管理仓储业务的信息化系统,它通过数学模型和信息手段对仓库管理的各个环节进行优化和调控,实现物流信息化自动化,优化仓库管理流程,提高存储效率,降低管理成本。二、作用仓库管理系统的主要作用包括:......
  • scPagwas-gwas data pruning的处理-inhouse 【未完成整理】
    总共三个大步骤:step1:提取503例EUR-Sample的1000G.EUR.QC.chr,通过python脚本批量跑plink得到step2:提取my-MDD中SNP的1000G.EUR.QC.chr-sub-chr,通过python脚本批量跑plink得到step3:进行pruning,得到MDD.chr*_plink_prune_EUR_filtered_LD0.8.prune.in,通过python脚本批量跑pli......
  • 火山引擎ByteHouse:OLAP如何支持超高QPS点查?
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群在当今高速发展的互联网时代,信息传播迅速,用户数量激增。在面对如此庞大的用户群体和高频的访问需求时,系统高并发访问的性能问题成为了无法回避的挑战。为了满足业务场景中对数据并发查询的即......
  • Clickhouse-客户端查询命令
    --连接客户端,-m参数用于表示支持SQL换行,多行模式。clickhouse-client--userdefault--password123456--port9001-m; --查询数据库showdatabases; --查看集群名称select*fromsystem.clusters;--在集群上创建数据库createdatabasecluster_dbonc......
  • House Of Force
    HouseOfForce首先介绍一下什么是HouseOfForceHouseOfForce是一种堆利用方法,但是并不是说HouseOfForce必须得基于堆漏洞来进行利用。如果一个堆(heapbased)漏洞想要通过HouseOfForce方法进行利用,需要以下条件:能够以溢出等方式控制到topchunk的size域......
  • clickhouse-backup(RPM方式安装)
    1.下载下载地址https://github.com/Altinity/clickhouse-backup 2.安装[root@dc-biz-ck-192soft]#rpm-ivhclickhouse-backup-2.4.35-1.x86_64.rpm 3.查看版本号[root@dc-biz-ck-192soft]#clickhouse-backup-vVersion:2.4.35GitCommit:5e41c8be05849a......
  • clickhouse如何表结构
     输出表名:clickhouse-client--host192.168.1.136--port=9000--password123456--multiquery--query="usedb_pushmsg;showtables;">/tmp/db_pushmsg.txt 输出表结构#!/bin/bashecho'usedb_pushmsg;'>>/tmp/db_pushmsg_tableDDL.s......