HDU 6041 I Curse Myself

【上海大学计算机组成原理实验报告】七、程序转移机制 学习实现程序转移的硬件机制//掌握堆栈寄存器的使用//手动方式实现子程序调用转移过程//手动方式实现子程序返回转移过程//编程实现`OUT`寄存器交替显示`11`和`55`//若要求`11`和`55`各显示`50`次后停机,应该如何修改程序?//根据实验指导书的相关内容,实验箱系统的程序转移硬件机制在于,当`LDPC`有效时,如果此时`DUBS`上的值就是转移的目标地址,则此目标地址被打入`PC`,从而实现程序的转移;若`LDPC`为`0`是附带条件的,就形成“条件转移”。 阅读详情

由于每条边最多只在一个环上,因此可以将环上的边权值,构成一个集合。问题就变成了,从若干个集合中,每个集合取一个数,计算K大的总和。

一次性考虑所有集合不太容易,可以将集合依次合并过去。那样复杂度就是O(KM)。

#include<bits/stdc++.h>
using namespace std;

const int MAXN=1010;
const int MAXM=4020;

struct Edge
{
	int x,y,v;
}e[MAXM];

struct opt
{
	int w,x,y;
	bool operator <(const opt& R)const
	{
		return w<R.w;
	}
};

vector<int> vec[MAXN],w,arr;
vector<int>::iterator it;
int K;
int vis[MAXN],pre[MAXN],vise[MAXM];

void merge(vector<int> &v,vector<int> b)
{
	priority_queue <opt> q;
	for(int i=0;i<b.size();i++)
		q.push((opt{b[i]+v[0],i,0}));
	w.resize(0);
	while(w.size()<=K&&!q.empty())
	{
		opt tmp=q.top();
		q.pop();
		w.push_back(tmp.w);
		if(tmp.y+1<v.size())
		{
			tmp.y++;
			q.push((opt){b[tmp.x]+v[tmp.y],tmp.x,tmp.y});
		} 
	}
	v=w;
}

void dfs(int x)
{
	int i,son,tmp,nd;
	vis[x]++;
	for(i=0;i<vec[x].size();i++)
	{
		if(vise[vec[x][i]])
			continue;
		vise[vec[x][i]]++;
		son=e[vec[x][i]].x^e[vec[x][i]].y^x;
		if(vis[son])
		{
			vis[x]=2;
			tmp=pre[x];
			nd=x;
			vector<int> arrtmp;
			arrtmp.push_back(e[vec[x][i]].v);
			while(1)
			{
				arrtmp.push_back(e[tmp].v);
				nd=e[tmp].x^e[tmp].y^nd;
				if(nd==son)
					break; 
				tmp=pre[nd];
			}
			merge(arr,arrtmp);
		}
		else
		{
			pre[son]=vec[x][i];
			dfs(son);
		}
	}
}

int main()
{
	arr.reserve(100100);
	w.reserve(100100);
	int as,sum;
	int n,m,i,j,cas=1;
	while(~scanf("%d%d",&n,&m))
	{
		for(i=0;i<=n;i++)
			vec[i].resize(0);
		arr.resize(0);
		arr.push_back(0);
		sum=0;
		for(i=0;i<m;i++)
		{
			scanf("%d%d%d",&e[i].x,&e[i].y,&e[i].v);
			vec[e[i].x].push_back(i);
			vec[e[i].y].push_back(i);
			sum+=e[i].v;
		}
		scanf("%d",&K);
		memset(vis,0,sizeof(vis));
		memset(vise,0,sizeof(vise));
		memset(pre,-1,sizeof(pre));
		dfs(1);
		as=0;
		sort(arr.begin(),arr.end());
		for(i=0;i<arr.size()&&i<K;i++)
			as+=(sum-arr[arr.size()-1-i])*(i+1);
		printf("Case #%d: %u\n",cas++,as);
	}
}


单目和多目视觉统一标定 单目和多目视觉统一标定 一.单目视觉标定 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在 阅读详情

相关推荐

图形引擎实战:镭射效果制作分享

该方案的优势1.遵循物理的2.可以使用少量的参数去调控镭射的效果。计算相对简单,缺点仍是颜色不能够自定义,还有一种常见的方案是采样一张镭射贴图来模拟,好处是颜色可以自定义同时性能上还很高效没有复杂的公式计算。我查阅了网上普遍的方案,常见的做法是制作一个Ramp图生成工具,然后将生成好的ramp图赋给材质。这两个方案的好处是美术同学可以手动的去控制镭射的颜色。最后就是Shader中对Ramp图的采样的部分,Ramp图的UV坐标是使用fresnel作为Ramp的U轴坐标,0.5作为V轴坐标。

qq_41166022的博客 1359

HDU 6041 I Curse Myself(点双联通加集合合并求前K大) 2017多校第一场

题意: 给出一个仙人掌图,然后求他的前K小生成树。 思路: 先给出官方题解 由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉。所以问题就变为有 M 个集合,每个集合里面都有一堆数字,要从每个集合中选择一个恰好一个数加起来。求所有的这样的和中,前 K 大的是哪些。这就是一个经典问题了。 点双联通就不说了 都一眼能看出来做法就是缩点之后每个环每次取一个,然后...

weixin_34187822的博客 136

AD620仪表放大器模块实战:从双电源切换到单电源供电的完整指南(附原理图)

本文深入探讨了AD620仪表放大器模块从双电源切换到单电源供电的常见陷阱与正确方案。通过解析AD620的内部架构与电气特性,指出其“天生”依赖双电源,简单的跳线改装会导致芯片损坏或失效。文章提供了基于AD623芯片的真正单电源替代方案,并附有原理图与实战波形对比,为便携式设备设计提供了完整指南。

weixin_29231027的博客 372

HDU 6041(仙人掌图+tarjan)

HDU 6041(仙人掌图+tarjan)

ME495的博客 1338

京东礼品卡绑定技术解析与安全验证实践

电商系统开发中,卡券绑定是常见的业务场景,其核心在于安全验证机制的设计与实现。从技术原理来看,现代验证系统通常采用多层防护,包括前端数据加密、行为验证(如滑块验证)和风控校验等关键技术。这些机制通过设备指纹采集、请求签名验证等方式,有效防范自动化攻击。在实际工程实践中,开发者需要特别关注接口鉴权流程,正确处理安全令牌(如st/vt令牌)和请求签名。京东礼品卡绑定作为典型案例,展示了如何平衡用户体验与系统安全,其验证系统会持续升级,需要开发者跟踪接口变化。对于企业级应用,建议采用混合模式技术方案,结合浏览器自

weixin_28607671的博客 234

RAG 实战:LangChain + 向量数据库构建知识问答系统

从文档加载、分割、嵌入到检索增强生成,完整实现一个基于本地文档的知识问答系统。

kaixin110a的博客 189

hdu 6041 I Curse Myself 无向图找环+优先队列

I Curse Myself Time Limit: 8000/4000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others) Problem Description There is a connected undirected graph with weights on its edges. It is guara...

weixin_30276935的博客 154

【我的Android进阶之旅】Android自定义View实现一个游戏摇杆,来实现监听遥动的方向或者监听摇动的角度的功能

一、需求描述 去年有个需求,需要使用自定义View实现一个游戏摇杆,来识别上下左右摇动的方向。 有点类似下面这样的王者荣耀游戏摇杆的效果 二、业界已有的参考资料 在下面这篇博客介绍了如何自定义游戏摇杆 2.1 博客介绍 Android自定义摇杆 2.1.1 功能 支持自适应大小 支持2个方向、4个方向、8个方向的摇动监听 支持摇动角度获取 可选回调模式 支持可摇动区域自定义 支持摇杆自定义 支持设置图片、色值、Shape图形 2.1.2 效果图 2.1.3 设置回调方式 setCallBac

字节卷动 1409

HDU 6041 I Curse Myself ——(仙人掌图,tarjan,转化)

  题解见这个博客:http://blog.youkuaiyun.com/ME495/article/details/76165039。   复杂度不太会算。。这个经典问题的解法需要注意,维护队列里面只有k个元素即可。另外,tarjan对无向图仙人掌图缩点(即只把所有环变成一个点)得注意一下(栈得手写才能实现要求,这是因为在这里割边不能被算进环内,而在有向图中,一个点也算是强连通分量的)。   ...

ddmxynl793173的博客 140

【系统架构设计师】案例分析考点情况分析和解题技巧(包括2009~2024年考点详情)

复习方法建议仍然是以真题为主,只不过和综合题不同,标准答案并不会涵盖所有可能的考点。案例的考察方法和论文不太一样,它考察两大块的内容:

数据知道的博客 1万+

一步一步教你如何安装IP-Guard(客户端WINDOWS篇)

1、安装完服务器后,在服务器右下角有一个IP-GUARD图标:如图 2、点图标右键选注册: 3、注册成功后, 4、在开始菜单里选生成客户端安装包。 5、生成客户端安装包成功,安装名字可以任意,但是最好是英文名字。 6、将客户端安装程序复制到桌面。 7、退出所有杀毒软件、安全卫士、电脑管家等然后运行 8、安装完成后,立即重启计算机。IPguard客户端安装完成。 9、这样在控制里就可以看到已经安装客户端的计算机,在线显示蓝色,灰色表示计算机已经离线货关机 ...

IP-Guard专栏 5629

HDU-6041 I Curse Myself(双连通分量+k路归并)

传送门:HDU-6041 题解:这个图是仙人掌,因此要形成生成树,每个环都得去掉一条边,因此可以将每个环上的边权值看成一个集合,要求每一个集合中选一个数加起来,求所有和中前k大的为多少,这样就能转换成k路归并 #include using namespace std; typedef long long LL; const int MX = 1e3 + 5; const int MXE = 1

十分残念的博客 808

光学传播仿真软件:ASAP_(1).ASAP软件介绍与安装

ASAP(Advanced System for Analysis and Propagation)是一款强大的光学传播仿真软件,广泛应用于光学系统的设计、分析和优化。它提供了丰富的建模工具和仿真功能,可以帮助用户从简单的光学元件到复杂的光学系统进行仿真。:支持光学、机械、热学等多物理场的联合仿真。:采用高精度的算法,确保仿真结果的准确性。:内置了大量的光学元件,如透镜、反射镜、棱镜、光栅等。:提供直观的用户界面,支持多种建模和仿真方式。:支持使用脚本语言进行二次开发,增强软件的定制能力。

kkchenjj的博客 1599

二分+搜索 HDU6041 I Curse Myself 详解

搜索处理第k小值 - 首先二分目标值,比如最小生成树的权重 - 统计满足二分值搜索到的符合条件的个数 - 检验是否大于等于 k HDU6041 I Curse Myself 题意 给出一个仙人掌图,令第k小生成树的权重为V(k)V(k)V(k) 求∑i=1kV(k)\sum_{i=1}^{k}V(k)∑i=1k​V(k) 分析 用到我们上面的方法,我们在搜索第k小的过程中肯定也能搜索1-k小的 所...

qcwlmqy的博客 407

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

HDU 6041 I Curse Myself(仙人掌+tanjan)

I Curse Myself Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 475    Accepted Submission(s): 76 Problem Description There is a c

yasolx的博客 1871

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

多校第一场I Curse Myself(HDU6041)

此题是我第一次接触仙人掌图,第一次了解Tarjan算法,也是第一次了解了合并N个集合的解法,这么多第一次,当然要记录一下。 Tarjan算法的介绍已经在我的另一篇博客中做了介绍(tarjan算法详解),这里解不在多讲了。 还有仙人掌图的大概介绍一下,就是图中的每一条边都唯一属于一个简单环路,不清楚的可以自行百度。 这里我主要想讲的就是如何合并N个集合,求出在这N个集合任取一个数求和得到前K大...

receiling的博客 408

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

HDU 6041 I Curse Myself(二分+搜索)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=6041 【题目大意】   给出一个仙人掌图,求第k小生成树 【题解】   首先找到仙人掌图上的环,现在的问题就是从每个环中删除一个元素,   求出删除元素总和中的第K大,我们发现通过限定第K大的大小,可以有效地搜索剪枝,   限制的大小导致搜索出来的总和数量是具...

weixin_30815427的博客 166

HDU 6041 I Curse Myself (仙人掌图)

Description There is a connected undirected graph with weights on its edges. It is guaranteed that each edge appears in at most one simple cycle. Assuming that the weight of a weighted spanning

小坏蛋_千千 824

HDU 6041.I Curse Myself 无向仙人掌图

I Curse Myself Time Limit: 8000/4000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 2266Accepted Submission(s): 544 Problem Description There is a connected...

weixin_30879833的博客 172

HDU6041-I Curse Myself(k路归并)

I Curse Myself                                                                      Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)                          

wang_128的博客 711

HDU 6041 I Curse Myself(边双连通分量+优先队列)

Description 给出一个仙人掌图,即任意一条边至多出现在一个简单环中,设V(k)为该图第k小的生成树权值和,求 Input 多组用例,每组用例首先输入两个整数n和m表示该图的点数和边数,之后m行每行三个整数u,v,w表示u和v之间有一条边权为w的边,最后输入一整数K表示求前K小的生成树权值和,以文件尾结束输入 (2<=n<=1000,n-1<=m<=2*n-3,1<=w<=1e6,1

ZSQ 1051

hdu 6041 I Curse Myself [2017 Multi-University Training Contest - Team 1]

点击打开题目 题意:给你一个仙人掌图,求前K小的生成树的权值之和. 分析:由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉。所以问题就变为有M个集合,每个集合里面都有一堆数字,要从每个集合中选择一个恰好一个数加起来。求所有的这样的和中,前K大的是哪些[求前k大/小:算法竞赛入门经典-训练指南189页]。 #include #include #inclu

hint 294

HDU 6041 - I Curse Myself(仙人掌图DFS找环 + 有限队列求前k大)

I Curse Myself Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 2911 Accepted Submission(s): 672 Problem Description There is a connected u...

EIP_silly的博客 410

离网逆变器带不对称负载?正负序+双闭环控制仿真全解析

离网逆变器作为独立电压源,在带不平衡负载时容易出现三相电压畸变,其根源是负序分量在输出阻抗上产生的压降。在控制理论中,对称分量法将不对称系统分解为正序、负序与零序,而三相三线制下只需治理正序和负序。通过双同步旋转坐标系分别提取正序、负序的dq分量,并配合电压电流双闭环PI控制,可有效抑制负序电压,使负载端电压恢复对称。这项技术在新能源微电网、UPS、电机驱动等对电能质量要求较高的场景中具有重要价值。本文围绕Matlab/Simulink仿真实现,详细讲解正负序分离模块搭建、双闭环控制器参数整定及不对称负载切

weixin_33966095的博客 188

2017多校训练赛第一场 HDU 6041 I Curse Myself(仙人掌图生成树)

现在才来补这道题,是不是有点太慢了……         题意比较简单,给你一幅图,让你求这幅图的生成树的带权值和,即最小生成树乘1,次小生成树乘2,次次小生成树乘3……然后k可以很大,图的点只有1000个。还有特别重要的条件,每一条边都最多在一个简单环中,所以说图是一个仙人掌图。

alpc_qleonardo 870

2017多校一 1009题 hdu 6041 I Curse Myself 找环(tarjan) + K 路归并

题目链接 题意: 给定一个仙人掌图,要求对它的最小的 K 个最小生成树求, (∑k=1Kk⋅V(k))mod232.V(k) 即为第 k 小生成树的权值和。 官方题解: 由于图是一个仙人掌,所以显然对于图上的每一个环都需要从环上取出一条边删掉。所以问题就变为有 MM 个集合,每个集合里面都有一堆数字,要从每个集合中选择一个恰好一个数加起来。求所有的这样的和中,前 KK 

kkkkahlua的博客 452
上一篇: HDU 6040 Hints of sd0061
下一篇: 51nod 1791 合法括号子段
欣君
博客等级 码龄10年 309粉丝 307原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值