1004

二分 加 kruskal  结果错误 伤不起啊

# include<cstdio>
# include<algorithm>
# include<cstring>
# define maxe 100010
using namespace std;
int a[maxe],b[maxe],c[maxe];
int value[maxe],w[maxe],cc[maxe];
int n,m,r,sum=0;
int vis[10000],fa[10000];
int cmp1(const int a,const int b)
{
return  value[a]<value[b];
}
int cmp2(const int a,const int b)
{
return c[a]<c[b];
}
int find(int x)
{
return fa[x]==x?x:fa[x]=find(fa[x]);
}
int test(int mv)
{
int num=2;
for(int i=0;i<m;i++)
{
int u=a[w[i]];
int v=b[w[i]];
if(find(u)!=find(v)&&c[w[i]]>=mv&&sum+value[w[i]]<=r)
{
if(!vis[u])
{
vis[u]=1;
num++;
}
if(!vis[v])
{
vis[v]=1;
num++;
}
 u=fa[fa[v]];
 sum+=value[w[i]];
}
}
if(num>=n&&sum<=r)
return 1;
return 0;
}
int main()
{
while(scanf("%d %d %d",&n,&m,&r)!=EOF)
{
        int i,j,v,k=-1;
for(i=0;i<m;i++)
{
  scanf("%d %d %d %d",&a[i],&b[i],&value[i],&c[i]);
    w[i]=i;
            cc[i]=i;
}

sort(w,w+m,cmp1);
sort(cc,cc+m,cmp2);
int l=0,r=m-1,mid;
while(l<=r)
{
  mid=(l+r)/2;
  sum=0;
 for(i=0;i<n;i++)
fa[i]=i;
  memset(vis,0,sizeof(vis));
  sum+=value[cc[mid]];
  vis[a[cc[mid]]]=1;
  vis[b[cc[mid]]]=1;
  fa[a[cc[mid]]]=b[cc[mid]];
  if(test(c[cc[mid]]))
  {
  k=c[cc[mid]];
  l=mid+1;
  }
  else
  r=mid-1;
}
printf("%d\n",k);
}
return 0;
}

### Excel 错误 1004 的概述与解决方案 Excel 中的错误代码 `1004` 是一种常见的运行时错误,通常表示应用程序定义或对象定义上的问题。这种错误可能由多种因素引起,例如宏操作失败、单元格引用不正确、外部链接损坏或其他配置问题。 以下是针对该错误的一些常见场景及其对应的解决方案: #### 场景 1:VBA 宏引发的错误 如果在执行 VBA 宏过程中触发了错误 1004,则可能是由于以下原因之一引起的: - 单元格范围指定有误。 - 工作簿或工作表未正确定义。 可以通过验证并修正 VBA 脚本来解决问题。例如,假设脚本尝试写入某个不存在的工作表中,可以修改如下代码片段来确保目标工作表存在后再继续操作[^5]: ```vba Sub FixError1004() Dim ws As Worksheet ' 验证工作表是否存在 On Error Resume Next Set ws = ThisWorkbook.Sheets("SheetName") ' 替换为实际工作表名 If ws Is Nothing Then MsgBox "工作表 SheetName 不存在,请检查名称", vbCritical Exit Sub End If On Error GoTo 0 ' 正常逻辑继续... End Sub ``` #### 场景 2:复制粘贴操作异常 当通过程序化方式(如 VBA 或其他工具)向 Excel 表格中粘贴大量数据时,可能会因为剪贴板内容格式不符而导致错误 1004。此时应调整源数据格式以匹配目标区域的要求。例如,在 Pandas 使用 `to_excel()` 方法保存文件时,需注意引擎的选择以及参数设置是否合理[^2]: ```python import pandas as pd # 创建 DataFrame 并导出至 Excel 文件 df = pd.DataFrame({'A': [1, 2], 'B': [3, 4]}) try: df.to_excel('output.xlsx', sheet_name='Sheet1', index=False, engine='openpyxl') except Exception as e: print(f"Pandas 导出失败: {e}") ``` #### 场景 3:跨工作簿链接失效 如果当前文档依赖于另一个已关闭或者路径更改后的外部工作簿,则打开此文档时也可能抛出错误 1004。建议更新所有断开连接的数据源地址,并确认网络环境稳定再重试加载这些资源。 另外需要注意的是,某些情况下即使修复好原始问题之后仍会出现残留影响;因此必要时候考虑重建受影响部分结构甚至整个项目副本来进行彻底清理恢复[^6]。 --- ### 总结 综上所述,对于不同情况下的 Excel 错误 1004 ,采取相应的排查措施非常重要 。这不仅限于简单的语法校验还包括深入理解具体业务流程背后隐藏的技术细节方面知识积累过程之中不断摸索总结经验教训最终形成一套适合自己团队使用的标准规范体系才是长久之计!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值