UVA140 ——bandwidth(搜索)

肿瘤基因组分析实战:VAF、MAF、CCF这些指标到底怎么算?(附Python代码示例) 本文通过Python代码示例,详细解析了肿瘤基因组分析中VAF、MAF和CCF三大核心指标的计算逻辑与应用。文章从VCF文件解析入手,逐步演示了变异等位基因频率、次等位基因频率及癌细胞分数的计算方法,并探讨了拷贝数变异对结果的影响及克隆结构推断的实战流程,为生物信息分析提供实用指南。 阅读详情

Given a graph (V,E) where V is a set of nodes and E is a set of arcs in VxV, and an ordering on the elements in V, then the bandwidth of a node v is defined as the maximum distance in the ordering between v and any node to which it is connected in the graph. The bandwidth of the ordering is then defined as the maximum of the individual bandwidths. For example, consider the following graph:

picture25

This can be ordered in many ways, two of which are illustrated below:

picture47

For these orderings, the bandwidths of the nodes (in order) are 6, 6, 1, 4, 1, 1, 6, 6 giving an ordering bandwidth of 6, and 5, 3, 1, 4, 3, 5, 1, 4 giving an ordering bandwidth of 5.

Write a program that will find the ordering of a graph that minimises the bandwidth.

Input

Input will consist of a series of graphs. Each graph will appear on a line by itself. The entire file will be terminated by a line consisting of a single #. For each graph, the input will consist of a series of records separated by `;'. Each record will consist of a node name (a single upper case character in the the range `A' to `Z'), followed by a `:' and at least one of its neighbours. The graph will contain no more than 8 nodes.

Output

Output will consist of one line for each graph, listing the ordering of the nodes followed by an arrow (->) and the bandwidth for that ordering. All items must be separated from their neighbours by exactly one space. If more than one ordering produces the same bandwidth, then choose the smallest in lexicographic ordering, that is the one that would appear first in an alphabetic listing.

Sample input

A:FB;B:GC;D:GC;F:AGH;E:HD
#

Sample output

A B C F G D H E -> 3

求出排列好后,相连的两个值之间存在的最大值,然后找出最大值最小的那一组


#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int maps[30][30];
int hav[30];
int p[10],a[10];
int ans[10],n,pmax,sum;
int work()        //如果相连,求它们之间距离的最大值
{
    int tmax = 0;
    for(int i=1; i<n; i++)
    {
        for(int j=i+1; j<n; j++)
        {
            if(maps[a[i]][a[j]])
            {
                if(j - i>tmax)
                    tmax=j-i;
            }
        }
    }
    return tmax;
}
void dfs(int cur)
{
    int flag;
    if(cur==n)
    {
        sum=work();
        if(pmax>sum)      //找出最大距离最小的那一组
        {
            pmax=sum;
            memcpy(ans,a,sizeof(a));
        }
        return ;
    }
    else
    {
        for(int i=1; i<n; i++)
        {
            flag=1;
            a[cur]=p[i];
            for(int j=1; j<cur; j++)
            {
                if(a[j]==a[cur])
                {
                    flag=0;
                    break;
                }
            }
            if(flag)
                dfs(cur+1);
        }
    }
}
int main()
{
    char str[100];
    char c;
    int len,i,pre,now;
    while(gets(str)&&strcmp(str,"#"))
    {
        n=1,pmax = 0x3f3f3f3f;
        len=strlen(str);
        memset(maps,0,sizeof(maps));
        memset(hav,0,sizeof(hav));
        memset(p,0,sizeof(p));
        for(i=0; i<len; i++)
        {
            c=str[i];
            if(str[i+1]==':')
            {
                pre=c-'A'+1;
                hav[pre]++;
            }
            else if(c>='A'&&c<='Z')
            {
                now=c-'A'+1;
                hav[now]++;
                maps[now][pre]=maps[pre][now]=1;
            }
        }
        for(i=0; i<27; i++)
        {
            if(hav[i])
                p[n++]=i;
        }
        dfs(1);
        for(i=1; i<n; i++)
            printf("%c ",ans[i]+'A'-1);
        printf("-> %d",pmax);
        printf("\n");
    }
    return 0;
}









RH850从0搭建Autosar开发环境【7】- Davinci Configurator之CanTp模块配置详解(上) 阅读详情

相关推荐

小红书爬取实战指南

以上方案仅供技术学习参考,请确保遵守目标网站的服务条款和相关法律法规。

monk all the way 6920

【UVA140】Bandwidth(最优性剪枝+全排列+思路)

题目:https://vjudge.net/problem/UVA-140 解题思路: 1.全排列:使用库函数next_permutation(a,a+n) 2.最优性剪枝:如果目前已经找到的最小带宽是k,若在新的一组排列中,发现已经有两个结点的距离大于或等于k,应强制把它“剪”掉,即剪枝。 3.全排列时肯定要对输入中出现的字母所对应的int数组做全排列,所以要对出现的字母做标记! (1...

Cassie_zkq的博客 714

数字芯片后端设计实战:Memory Compiler参数配置与SRAM生成优化

本文深入解析数字芯片后端设计中Memory Compiler的核心参数配置与SRAM生成优化策略。详细探讨了容量结构、频率设定、工艺角选择等关键参数的配置要点与常见误区,并提供了从.lib/.lef文件转换到后端流程整合的实战指南,旨在帮助设计者生成面积、性能和功耗更优的存储单元。

weixin_29194255的博客 701

UVA-140-Bandwidth-最优性剪枝与回溯

UVA-140-Bandwidth参考题解,参考算法为回溯与剪枝,本文简要介绍在回溯中如何进行最优性剪枝。

我是懒狗━┳━ ━┳━ 546

基于STM32F103的智能门禁门锁门卫系统设计

本文设计了一种基于STM32F103单片机的智能门禁系统,集成了密码、射频IC卡和指纹识别三种验证方式。系统采用模块化设计,包含MFRC522射频模块、AS608指纹模块、矩阵键盘、OLED显示和舵机控制等硬件,实现了身份验证、密码修改、IC卡/指纹管理以及安全防护功能。测试结果表明系统响应迅速(密码验证250ms、指纹验证600ms)、功耗低(待机50mA),且具备掉电密码保存功能。该系统操作简便、功能完善,适用于家庭和办公场所,具有较高实用价值。未来可扩展远程控制、人脸识别等功能以进一步提升智能化水平。

3254968421的博客 316

【MATLAB代码】雷达观测目标跟踪模型|H-infinity Filter(H无穷大滤波)与EKF(扩展卡尔曼滤波)的对比。附完整代码,订阅专栏后可直接查看

对比了经典扩展卡尔曼滤波(EKF)与H∞优化的EKF(H∞-EKF)在目标跟踪中的性能。通过MATLAB仿真实验,结果显示:在存在模型误差和测量噪声的情况下,H∞-EKF相比经典EKF在位置误差上降低

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 243

UVA - 140(Bandwidth )(全排列+暴力)

题意: 给出一个n(n<=8)个节点的图G和一个节点的排列,定义节点i的带宽为相邻接点在排列中的最远距离。 分析:用全排列暴力做,先找出给出的序列中的所有字母,我用的set存贮(可以去掉重复的字母),这就是需要进行全排列的字符串,在每一个排列里找到带宽,然后输出其中的最小值即可。做的时候总感觉没思路,其实就是自己傻,有时候不愿意深入地去想一个题,总是看完这个题感觉不会就去看另一个题,到头来那个题

zfldongcidaci的博客 485

OpenMM | PDBFixer 用于蛋白质预处理

PDBFixer 用于蛋白质预处理

DrugOne 3005

UVa140 Bandwidth(带宽)

回溯法的应用+剪枝:Uva140-带宽

明朗晨光的专栏 357

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的体育赛事目标检测系统(Python+PySide6界面+训练代码)

本文详细介绍了一个基于YOLOv5/v6/v7/v8的体育赛事目标检测系统的设计与实现。系统采用先进的深度学习算法,结合PySide6图形界面,实现了对体育赛事中运动员、球类、裁判等多种目标的实时检测与跟踪。本文将全面阐述系统的架构设计、算法原理、训练流程、界面实现以及实际应用效果,并提供完整的代码实现。

YOLO 509

手把手教你学 GPU KMD--1.2:UMD、KMD 与 DDK 的协作关系(下)——权限提升与安全边界

本文探讨了UMD、KMD与DDK协作中的权限提升与安全边界问题。GPU作为强大DMA引擎,必须通过分层权限模型(用户态/内核态)隔离风险,KMD作为守门人对UMD请求进行严格校验。文章详细分析了权限提升路径、安全边界设计(GPU虚拟内存隔离、命令白名单、IOMMU强制隔离等),并列举历史漏洞案例说明安全边界的重要性。现代增强方案包括虚拟化与可信执行环境。核心安全原则是"永远不信任用户态数据",需对所有地址、命令、资源和DMA进行严格管控。

amy_mhd的博客 324

uva 140

题目地址 这题就是求一个全排列,判断最小的最大带宽。加上剪枝优化让程序更快速,当前已经有一个最小值的时候,若此时结果的到了一个更大的带宽,就不用处理了。 这题输入处理和带宽计算要弄清楚: 输入处理,直接用二维标记a和b是否相邻。 这里e是存下出现的字母(后面有去重处理,也可以直接set),mp是标记两个字母是否能够到达。 char ch; int t = 1; mi = INF; for(int i=0;i<(int)s.size();i++) { if(s[i] == ':')

qq_45604735的博客 237

YOLO26 改进 | (教师:YOLOv8L,学生:YOLO26) | 知识蒸馏 (Knowledge Distillation)

本文介绍了基于YOLO26框架的知识蒸馏实战方法,通过教师模型指导学生模型训练,在不增加推理成本的情况下提升模型精度。文章详细阐述了基于响应的知识蒸馏实现方案,通过最小化教师与学生模型预测Logits间的KL散度实现知识迁移。核心实现包括:1) 创建DistillationModel包装器类,同时运行师生模型;2) 自定义DistillationLoss,在原检测损失基础上增加KL散度损失。该方法适用于希望保持YOLO26轻量级特性同时获得接近大模型精度的场景,文中提供了完整的代码实现方案。

weixin_51988935的博客 510

UVA140-Bandwidth(搜索剪枝)

ProblemUVA140-Bandwidth Time Limit: 3000 mSec Problem Description Given a graph (V, E) where V is a set of nodes and E is a set of arcs in V ×V , and an ordering on the elements in V , the...

weixin_30567471的博客 226

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

[暴力搜索]Bandwidth UVA140

用回溯可以解决这道题目,但是因为节点数较少只有8个,因此可以使用暴力搜索。更加简单。

九问的烦恼 1082

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

紫书搜索 例题7-6 UVA - 140 Bandwidth

题目链接:https://vjudge.net/problem/UVA-140题意:题解:代码:#include <bits/stdc++.h> using namespace std; typedef long long ll; #define MS(a) memset(a,0,sizeof(a)) #define MP make_pair #define PB push_back const i

yxg_123的博客 314

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

UVa140- Bandwidth

UVa140- Bandwidth   题意:给定n(n   分析:刚开始做的时候,以为是最多26个节点,26的阶乘该是多大了…..然后以搜索剪枝的框架的方式写出来了,最后发现最多8个..,就算直接枚举效率也足够高,而且直接枚举肯定还会更简单,想必可以用next_permutation函数。 如果用搜索剪枝的方式的话,那么便考虑到优化的问题,如何剪枝呢?最优性剪枝就可以了,如果当前的最小

我的ACM,我的梦!!! 1278

UVa 140 Bandwidth (枚举全排列&剪枝搜索)

140 - Bandwidth Time limit: 3.000 seconds  http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=108&page=show_problem&problem=76 Given a graph (V,E) where V is a set of

AC,∑ndless 1202

UVA140Bandwidth

lrj老师建议这道题用剪枝,我根据他描述的做了。但最后竟然发现他的程序竟然是近乎暴力的2333.。。

qq_16603365的博客 258

UVA 140 Bandwidth 暴力模拟

题意:给出一个n个节点的图G和一个节点的

leodestiny 873

uva 140 Bandwidth

uva 140 Bandwidth

@fei 392

UVA 140 带宽 Bandwidth (暴力枚举+剪枝)

解题思路:本题使用了STL中的next_permutation()函数(位于algorithm中)列举排列。先记录目前已经找到的最小带宽min_width,如果发现已经有某两个结点的距离大于或等于min_width,再怎么扩展也不可能比当前解更有,故应“剪”掉,即剪枝 #include #include #include #include #include using namespace st

持之以恒 476

入门经典_Chap07_题解总结:枚举, 回溯, 状态空间搜索, IDA*

总结 枚举:注意枚举的对象和规模. 对象主要有排列, 子集, 状态, 转移等; 规模在原则上是要尽量缩小的,为此有时可能需要分类枚举. 回溯:剪枝是灵魂, 同时注意避免不必要的判断. 状态空间搜索: 一道八数码问题说明一切 => 点此转到八数码http://blog.youkuaiyun.com/a27038/article/details/75645835 迭代加深(ID)或(IDA*)

duaduac.com 519

Uva 140 Bandwidth(回溯法+剪枝)

书附的代码只有使用next_permutation()逐个计算带宽的,而网上没看到很符合心意的(回溯法+剪枝)的题解,自己写了个自我感觉逻辑比较清晰的,水准有限。(书附git链接:https://github.com/aoapc-book/aoapc-bac2nd/blob/master/ch7/UVa140.cpp)题意:    输入一行数据,其中有n个字符节点和节点间的连通关系,输出一组排列,...

r1041953637的博客 1622
上一篇: hihocoder——1041国庆出游(搜索)
下一篇: UVA129 —— Krypton Factor (氪因素)
Tyuio28
博客等级 码龄11年 12粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值