Jzoj5669 排列

IC验证 AHB-RAM 项目(二)——接口与事务代码的编写 本文介绍了准备工作及接口、事务相关代码编写要点。在接口部分,重点说明了lvc_ahb_if.sv、rkv_ahbram_if.sv和rkv_ahbram_tb.sv三个关键文件的功能,其中rkv_ahbram_if.sv通过动态任务实现复位信号控制。事务部分则涉及lvc_ahb_types.sv中的枚举类型定义和lvc_ahb_transaction.sv中的随机化变量设置,用于构建AHB传输激励。整个验证环境采用模块化设计,通过接口实现TB与DUT的通信,为后续验证工作奠定基础。 阅读详情

有 n 个数 x1 ~xn 。你需要找出它们的一个排列,满足 m 个条件,每个条件形如 x_a 必须在x_b之前。在此基础上,你要最大化这个排列的最大子段和。

神题,这里先orz一下当场切掉的神犇wjw

看下数据范围,n<=500感觉是网络流,结果就是

构图方式,每个点拆开成a[i],b[i]

如果x[i]>0,那么S->a[i],b[i]->T连权值为x[i]的边

否则,a[i]->b[i]权值为-x[i]的边

对于每个限制(x,y) 连a[x]->a[y] 和 b[x]->b[y],容量+inf

跑一次最小割,用所有正数的和减掉最小割就是答案

其实割掉三种边的意义是很明显的:

割掉S->a[i]相当于将i放到最大子段的前面

割掉a[i]->b[i]相当于将i放入最大子段中

割掉b[i]->T相当于将i放到最大子段的后面

#pragma GCC optimize("O3")
#pragma G++ optimize("O3")
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define N 1010
using namespace std;
struct edge{ int v,c,nt; } G[N<<3];
int n,m,cnt=1,ans=0,h[N],cur[N],lvl[N],gap[N],p[N];
inline void adj(int x,int y,int c){
	G[++cnt]=(edge){y,c,h[x]}; h[x]=cnt;
	G[++cnt]=(edge){x,0,h[y]}; h[y]=cnt;
}
inline int ISAP(int S,int T){
	memset(p,-1,sizeof p);
	memcpy(cur,h,sizeof cur);
	int x=p[S]=S,fl=0,df=(1<<29); *gap=n+1<<1;
	for(;lvl[S]<(n+1)<<1;){
		loop:
		for(int &i=cur[x],v;i;i=G[i].nt){
			v=G[i].v;
			if(G[i].c && lvl[v]+1==lvl[x]){
				df=min(df,G[i].c); p[v]=x; x=v;
				if(v==T){
					fl+=df;
					for(x=p[v];v!=S;v=x,x=p[x]){
						G[cur[x]].c-=df;
						G[cur[x]^1].c+=df;
					}
					df=1<<30;
				}
				goto loop;
			}
		}
		int dl=n+1<<1;
		for(int i=h[x];i;i=G[i].nt)
			if(G[i].c && lvl[G[i].v]<dl){
				dl=lvl[G[i].v];
				cur[x]=i;
			}
		if(--gap[lvl[x]]==0) break;
		lvl[x]=dl+1;
		++gap[lvl[x]]; x=p[x];
	}
	return fl;
}
int main(){
	freopen("permutation.in","r",stdin);
	freopen("permutation.out","w",stdout);
	scanf("%d%d",&n,&m); 
	int S=n*2+1,T=n*2+2;
	for(int x,i=1;i<=n;++i){
		scanf("%d",&x);
		if(x>=0){
			ans+=x;
			adj(S,i,x);
			adj(i+n,T,x);
		} else adj(i,i+n,-x);
	}
	for(int x,y;m--;){
		scanf("%d%d",&x,&y);
		adj(x,y,1<<20);
		adj(x+n,y+n,1<<20);
	}
	printf("%d\n",ans-ISAP(S,T));
}


47、利用组策略配置 Windows 防火墙与 IPsec 全解析 本文深入解析了如何利用组策略配置Windows防火墙与IPsec,涵盖防火墙规则基础、IPsec身份验证与加密机制、服务器和域隔离实现方法、WFAS中新旧IPsec规则的区别与配置流程,并详细说明了防火墙属性与规则的优先级计算方式。同时介绍了证书服务、EFS等未详述的安全功能及相关学习资源,帮助管理员通过组策略有效提升网络安全性。 阅读详情

相关推荐

别再只盯着ADC了!手把手教你拆解HLW8032模块的隔离与非隔离采样电路(附BOM清单)

本文深入解析HLW8032模块的隔离与非隔离采样电路设计,提供工程化决策指南。从安全间距到PCB布局,再到误差分析和BOM清单优化,手把手教你避开常见陷阱,确保产品级设计的可靠性和精度。附实用校准策略和关键元器件选型建议,助力硬件开发者提升设计水平。

weixin_29206669的博客 402

P2756 魔术球问题 (网络流)

题意:n根柱子 把编号1,2,3....的球依次插到柱子上去    需要满足相邻的两个球编号加起来为完全平方数 n < 55 题解:网络流24(23)题里的    但是一直不知道怎么建图 或者说建图的意义    一般都要套路拆点 我的理解就是实际问题背景每个点是需要双向边的 但是网络流算法要建反向边 所以就拆点防止重边 意义更明确    这个题的话把小球拆点就表示 一...

weixin_30851867的博客 153

从CAD图纸到GIS地图:手把手教你用Global Mapper处理DWG文件(含坐标配准)

本文详细介绍了如何使用Global Mapper将CAD图纸(DWG文件)转换为GIS地图,包括坐标配准、图层与属性转换等关键步骤。通过四参数变换和控制点匹配技术,确保数据精准转换,适用于测绘、城市规划等领域。文章还提供了高级处理技巧和质量控制流程,帮助用户高效完成GIS化工作。

weixin_29196891的博客 521

Permutation【省选模拟赛】

标签:网络流 题目 有 n 个数 x1~xn。你需要找出它们的一个排列,满足 m 个条件,每个条件形 如 xa必须在 xb之前。在此基础上,你要最大化这个排列的最大子段和。 n&lt;=500,m&lt;=1000。 分析 一眼网络流,可是不会建图gg 然后推性质: 发现最大字段和一定是一个满足条件的排列中的一段 形式为“不选-&gt;选-&gt;不选” 将每个点拆成两个...

Welcome to yjjr's blog! 761

实验室LIMS系统选型指南:从赛默飞到金现代,5大主流方案横评

本文深入分析了实验室LIMS系统选型的5大核心维度,包括架构选择、行业适配性、合规性设计、智能化程度和成本模型。通过对比赛默飞、金现代等主流厂商的优劣势,提供实战避坑策略,帮助实验室管理者做出明智决策,提升运营效率和合规水平。

plum99的博客 258

如何使用 Ansys OptiSlang 同时运行多个参数化设计研究

了解如何通过使用 OptiSLang 同时运行多个参数化设计研究来提高工作效率。

jkh920184196的博客 2382

jzoj5669 [GDSOI2018模拟4.19]排列

Description 有 n 个数 x1 ~xn 。你需要找出它们的一个排列,满足 m 个条件,每个条件形如 x_a 必须在x_b之前。在此基础上,你要最大化这个排列的最大子段和。 Subtask 1 (5pts):n&lt;=10。 Subtask 2 (20pts):n&lt;=20。 Subtask 3 (19pts):m=n-1 且 x1 一定在排列的第一位。 Subtas...

olahiuj的博客 411

VisualStudio2022配置CGAL

vs2022和vs2017安装配置boost没什么区别,只需要注意boost的msvc得是14.3的,这玩意跟visualstudio版本挂钩的。压缩包解压,得到下面这两文件,然后把auxiliary这个文件挪到CGAL-5.6里面就行了。我用cgal读取一个stl模型,并输出相关信息(想可视化的话需要安装Qt,不想装Qt也可以装VTK)然后下载下面这两个压缩包。照着下面的截图填就完事了。

weixin_43850909的博客 1171

【GDSOI2018模拟4.19】排列

Description有 n 个数 x1 ~xn 。你需要找出它们的一个排列,满足 m 个条件,每个条件形如 x_a 必须在x_b之前。在此基础上,你要最大化这个排列的最大子段和。 n<=500Solution神仙题 神奇的网络流建模,强行把两个最大权闭合子图搞在一起 每个点拆点,x和x’,对于每个正点,S->x和x’->T连边,边权为ai 对于每个负点,x->x’连边,边权为-ai 对于

时光真疯狂, 我一路执迷于匆忙. 372

LangGraph实战训练营-从零构建AI驱动的wiki知识库

本文深入解析 LangChain 团队开源的 Deep Agents 框架核心示例——LLM Wiki,一个基于大语言模型自动构建和维护持久化知识库的生产级 AI Agent 系统。文章从项目架构、环境搭建、核心原理到实战操作全面展开:详解 CompositeBackend 组合后端与细粒度权限控制的安全设计、四种工作模式(初始化/摄取/查询/质量检查)的完整流程、LangSmith 远程沙箱的隔离执行机制,以及人机协同审核(HITL)的实践应用。

program哲学 197

全面解析智能座舱芯片参数:高通 (SA8295)vs 联发科,真实案例一行行讲给你听!

使用场景推荐芯片中低端车型 + 1屏导航语音SA8155P / MT8628(性价比高)中控+副驾+仪表+全景影像SA8255P / MT8678(性能强)高阶自动驾驶+域控融合SA8295P(顶级安全+算力)

weixin_43199439的博客 2076

JZOJ 5669 排列

Description有nn个数x1x_1~xnx_n 。它们的一个排列,满足mm个条件,每个条件(aa,bb)表示xax_a必须在xbx_b之前。求这个排列可能的最大子段和。Data Constraintn<=500,m<=1000,|xi|<=1000 n<=500,m<=1000,|x_i|<=1000 Solution首先把每个条件(a,b)(a,b)看成有向边(a,b)(a,b),那么对于

XianHaoMing的博客 382

Simulink仿真入门到精通(三) Simulink信号

本系列教程是根据孙忠潇编著的<<Simulink仿真及代码生成技术入门到精通>>学习笔记。 目录 Simulink仿真入门到精通(一) Simulink界面介绍 Simulink仿真入门到精通(二) Simulink模块 Simulink仿真入门到精通(三) Simulink信号 Simulink仿真入门到精通(四) Simulink子系统 Simulink仿真入门到精通(五) Simulink模型的仿真 Simulink仿真入门到精通(六) Simulink模型保存为图片 Sim

king110108的专栏 5395

JZOJ 5669. 【GDSOI2018模拟4.19】排列

JZOJ 5669. 【GDSOI2018模拟4.19】排列 Description有 n 个数 x1 ~xn 。你需要找出它们的一个排列,满足 m 个条件,每个条件形如 x_a 必须在x_b之前。在此基础上,你要最大化这个排列的最大子段和。Input第一行两个整数 n,m,第二行 n 个整数 x1 ~xn ,接下来 m 行每行两个整数 a,b。Output输出一行一个整数表示最

Felix-Lee的博客 444

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

JZOJ5669. 【GDSOI2018模拟4.19】排列

Description 有 n 个数 x1 ~xn 。你需要找出它们的一个排列,满足 m 个条件,每个条件形如 x_a 必须在x_b之前。在此基础上,你要最大化这个排列的最大子段和。 Input 第一行两个整数 n,m,第二行 n 个整数 x1 ~xn ,接下来 m 行每行两个整数 a,b。 Output 输出一行一个整数表示最大子段和。 Sample Input 5 4...

lijf2001的博客 317

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

jzoj 5669. 【GDSOI2018模拟4.19】排列 最小割

Description有 n 个数 x1 ~xn 。你需要找出它们的一个排列,满足 m 个条件,每个条件形如 x_a 必须在x_b之前。在此基础上,你要最大化这个排列的最大子段和。Input第一行两个整数 n,m,第二行 n 个整数 x1 ~xn ,接下来 m 行每行两个整数 a,b。Output输出一行一个整数表示最大子段和。Sample Input5 4 2 3 -2 5 -3 1 5 2

liangzihao1的博客 351

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

[JZOJ 5669] Permutaition

这个网络流的建模非常妙,我是按照之前做过的某个题目来想的 题意 有\(n\)个数 \(x_1\cdots x_n\) 。你需要找出它们的一个排列,满足\(m\)个条件,每个条件形如\(x_a\)必须在\(x_b\)之前。在此基础上,你要最大化这个排列的最大子段和。 \(1\leq n\leq 500\),\(1\leq m \leq 1000\),\(1\leq |x_i|\leq 1000\...

weixin_34018169的博客 78

Jzoj3163 排列

给你M个对1到N的排列的特征,特征有两种: 1xyv:排列的第x个数到第y个数之间的最大值为v 2xyv:排列的第x个数到第y个数之间的最小值为v 要求你还原出这个排列(N<=200,M<=40000) 刷水题有利于身心健康 但你还不是不会做?额这 想必许多人看完题目就知道怎么做了吧,才200直接二分图匹配就搞定了啊,O(NM)建图没问题 (另外,2014年那...

dianning8393的博客 207

JZOJ 5670. 【GDSOI2018模拟4.19】树

按秩合并 容斥(莫比乌斯反演)

Luckfort 551

做网站就是找出网民的需要,满足他们

做一个成功的网站,其实就是做一个对网民有价值的网站。所以,今天突然想到,做网站很简单:找出一群网民的需要,然后满足他们的需要。 中国站长_站,为中文网站提供动力 网民打开电脑,打开浏览器,如果他想看新闻了,他会去新浪;如果他想看真实的社会百态和真实生活,他会去天涯杂谈;如果他想开心一下,跟人抬杠贫嘴,他会去猫扑大杂烩;如果他想看美女帅哥的相片,他会去51.com;如果他想搜索自己需要的信息,它

~缘份天空~ 806

bzoj 1036 [ZJOI2008]树的统计Count 树链剖分

题目: bzoj 1036大意: 一棵树,三种操作,change(x,y),把节点x权值改为y,qmax(x,y),求x到y路径的最大值,qsum(x,y),求x到y路径权值和。分析:树链剖分模版题。代码:/************************************************************** Problem: 1036 User: begi

liangzihao1的博客 226

【TEST190325】GDSOI2018模拟4.19 简要题解

T2:升级版最小割模型 T3:哈希+点对分治

远行客 450

Jzoj5429 排列

有两个长度为n的排列A和B,定义排列的价值f(A,B)为所有满足A[i]>B[i]的位置i的数量。 现给出n,A,B和S,其中A和B中有一些位置的数未知,问有多少种可能的填数的方案使得f(A,B)=S 保证不存在一个位置i满足A[i]=0且B[i]=0 十分有趣的题目,是个神奇的组合数学+dp 我们先将问题拆成两个,因为题目保证没有A[i]=B[i]=0的位置 我们将所有A[i]=0

扩展の灰(Extended Ash/Cooevjnz) 468

SSL2836 2017年11月4日提高组T2 序列(迭代dfs)

2017年11月4日提高组T2 序列Description给定一个1~n的排列x,每次你可以将x1~xi翻转。你需要求出将序列变为升序的最小操作次数。有多组数据。Input第一行一个整数t表示数据组数。 每组数据第一行一个整数n,第二行n个整数x1~xn。Output每组数据输出一行一个整数表示答案。Sample Input1 8 8 6 1 3 2 4 5 7 Sample Output

闲人请进 272
上一篇: Jzoj5665 奥立卡的诗
下一篇: Jzoj5674 香槟
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值