uva 103 - Stacking Boxes DAG最长路

    图很小,所以随便乱搞就可以了,记忆化搜索

/*
author:jxy
lang:C/C++
university:China,Xidian University
**If you need to reprint,please indicate the source**
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#define INF 1E9
using namespace std;
int n,k;
int node[31][11],d[31];
bool map[31][31];
bool ok(int a,int b) //can a in b
{
    for(int i=0;i<k;i++)
      if(node[a][i]>=node[b][i])return 0;
    return 1;
}
int dp(int i)
{
    int &ans=d[i];
    if(ans>0)return ans;
    ans=1;
    for(int j=0;j<n;j++)
     if(map[i][j])ans=max(ans,dp(j)+1);
    return ans;
}
void print(int i)
{
    printf("%d",i+1);
    for(int j=0;j<n;j++)
      if(map[i][j]&&d[i]==d[j]+1)
      {
          putchar(' ');
          print(j);
          break;
      }
}
int main()
{
    while(~scanf("%d%d",&n,&k))
    {
        int i,j;
        for(i=0;i<n;i++)
        {
            for(j=0;j<k;j++)
                scanf("%d",&node[i][j]);
            sort(node[i],node[i]+k);
        }
        for(i=0;i<n;i++)
          for(j=0;j<n;j++)
            map[i][j]=ok(i,j);
        memset(d,0,sizeof(d));
        int Max=0,t;
        for(i=0;i<n;i++)
         if((t=dp(i))>Max)
           Max=t,j=i;
        dp(j);
        printf("%d\n",Max);
        print(j);
        puts("");

    }
}
时间: 2024-11-02 15:17:37

uva 103 - Stacking Boxes DAG最长路的相关文章

UVa 103:Stacking Boxes

[题目链接] http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=39 [原题] Stacking Boxes Background Some concepts in Mathematics and Computer Science are simple in one or two dimensions but

UVa 10308 Roads in the North:树上的最长路

10308 - Roads in the North Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1249 思路:由于是一棵树,我们只要随便指定一个树根就开始dfs.所有路径都可以看成以父节点为中转点的"子树甲+子树乙"的形式(只有一

算法题:UVA 437 The Tower of Babylon (dp + DAG最长序列)

The Tower of Babylon Perhaps you have heard of the legend of the Tower of Babylon. Nowadays many details of this tale have been forgotten. So now, in line with the educational nature of this contest, we will tell you the whole story: The babylonians

58同城长路漫漫

摘要: 58同城 赴美上市消息一出,瞬间成为媒体舆论关注的焦点,可惜的是随之而来的并不是对58上市的殷切期盼,而是此起彼伏的质疑之声.媒体的聚光灯清晰的呈现了58同城的近况以及整个 58同城 赴美上市消息一出,瞬间成为媒体舆论关注的焦点,可惜的是随之而来的并不是对58上市的殷切期盼,而是此起彼伏的质疑之声.媒体的聚光灯清晰的呈现了58同城的近况以及整个分类信息行业的现状,58在冲击IPO时做出了战略调整,这或许能让分类信息行业回归到健康的市场竞争中. 搜索情况体现行业状态几无变量 烧钱时代结束

漫漫长路十多小时,谁是机上WiFi的“业界良心”?

东航日前开通北美国际远程航线的机上WiFi上网服务,国.海.南.东等四大航以前只限于国内航班的空中上网服务终于挺进有着更高需求的洲际航班.而欧美.中东的主流航空公司,早已将机上WiFi上网当成航班服务的亮点,在机舱门口屡屡拿醒目的WiFi标志欢迎登机的客人.漫漫长路十多小时,谁是机上WiFi的"业界良心"? 机上WiFi上网如果只是连接机舱内局域网,显然就太不厚道了.在我常飞的京广航线上,就老是遇到带局域网的国航飞机.拿着笔记本电脑或平板电脑连进去,最多就是听听里面的音乐,要不然就是看

分类信息市场进入新阶段 58同城长路漫漫

摘要: 58同城 赴美上市消息一出,瞬间成为媒体舆论关注的焦点,可惜的是随之而来的并不是对58上市的殷切期盼,而是此起彼伏的质疑之声.媒体的聚光灯清晰的呈现了58同城的近况以及整个 58同城 赴美上市消息一出,瞬间成为媒体舆论关注的焦点,可惜的是随之而来的并不是对58上市的殷切期盼,而是此起彼伏的质疑之声.媒体的聚光灯清晰的呈现了58同城的近况以及整个分类信息行业的现状,58在冲击IPO时做出了战略调整,这或许能让分类信息行业回归到健康的市场竞争中. 搜索情况体现行业状态几无变量 烧钱时代结束

深度评论 | 大数据金融风控大浪淘沙强弱渐分,长路漫漫投机者勿入

2016年,大数据就在一片喧嚣的气氛中过去.之所以说"喧嚣",是从2015年开始的大数据热在不断地继续升温,加剧.凡事必须跟大数据扯上点关系才算时髦,才算符合时代潮流. 做个最普通不过的统计分析报告,也要冠以"大数据XX报告"."大数据征信","大数据金融风控","大数据XX"更是比比皆是.在我看来,真正属于纯粹大数据的项目并不多,多数都在混淆概念. 个人认为,大数据的高潮并未到来.大数据在今天,也并不像大

Gartner:云计算开源项目仍有很长路要走

Gartner分析师Allessandro Perilli最近参加开源http://www.aliyun.com/zixun/aggregation/13423.html">云计算平台OpenStack峰会表示,这个开源项目在成为真正的企业级平台之前,仍然有很长的路要走. 该分析师表示,OpenStack正在努力地提高其企业部署率.尽管供应商大肆推广以及良好的舆论营销力度,企业部署率仍然处于非常早期的阶段. "不要相信新闻和供应商的炒作:OpenStack在大企业市场的渗透仍然很

李颖:云计算开源产业市场发展存三大问题 国内还有很长路要走

12月2日消息,在今天的"云计算开源产业联盟第二次成果发布会上",工业和信息化部信息化和软件服务业司巡视员李颖表示:"在推动我国开源技术和产业发展以及规范我国的云计算软件市场方面,国内还有很长的路要走." 与此同时,李颖指出,云计算开源产业市场的发展还存在三大问题,即开源思想还没有在国内被广泛理解和接受:开源技术的落地相较于国际还有很大的差距:还需要通过产业标准的完善,促进市场规范的形成. 回顾2016年,在政策方面,开源技术成为促进我国信息化创新升级的重要推动力量