NYoj110 剑客决斗

原创 2015年07月11日 10:38:28

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=110

分析:

      这道题真是没想到是动态规划,已开始认为是图论,想了好久只有最大流才能求出值,但是构不图。。(还是太弱啊)。 看了一篇博客 才知道是区间动态规划。

考虑 x 是否能赢得战斗,把环看成链,x点拆成两个,分别作为链的起点和终点。这样能胜出的条件就是自己和自己相遇。

状态为meet【i】【j】 表示i, j能相遇,这样就可以枚举i和j中的一点k,只要i或j能战胜k, i, j就能相遇了(只要找到一个点即可结束,不然会超时)

 Ac代码:

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxn = 510;
int bear[maxn][maxn];
bool meet[maxn][maxn];
int main()
{
    int T, n;
    scanf("%d", &T);
    while(T--)
    {
        scanf("%d", &n);
        for(int i = 0; i < n; i++)
            for(int j = 0; j < n; j++)
                scanf("%d", &bear[i][j]);
        memset(meet, false, sizeof(meet));
        for(int i = 0; i < n; i++)
            meet[i][(i+1)%n] = true;
        for(int d = 2; d <= n; d++)
        {
            for(int i = 0; i < n; i++)
            {
                int j = i+d;
                for(int k = i+1; k < j; k++)
                    if(meet[i][k%n] && meet[k%n][j%n] && (bear[i][k%n]||bear[j%n][k%n]))
                    {
                        meet[i][j%n] = true;
                        break;//不能少,不然超时
                    }
            }
        }
        int ans = 0;
        for(int i = 0; i < n; i++)
            if(meet[i][i])
                ans++;
        printf("%d\n", ans);
    }
    return 0;
}



 


NYOJ-110-剑客决斗

描述 在路易十三和红衣主教黎塞留当权的时代,发生了一场决斗。n个人站成一个圈,依次抽签。抽中的人和他右边的人决斗,负者出圈。这场决斗的最终结果关键取决于决斗的顺序。现书籍任意两决斗中谁能胜出的信息,...
  • f_zyj
  • f_zyj
  • 2016年04月27日 16:02
  • 649

NYOJ 110剑客决斗(动态规划)

描述 在路易十三和红衣主教黎塞留当权的时代,发生了一场决斗。n个人站成一个圈,依次抽签。抽中的人和他右边的人决斗,负者出圈。这场决斗的最终结果关键取决于决斗的顺序。现书籍任意两决斗中谁能胜出的信息,...
  • ShiWaiGaoRen12345
  • ShiWaiGaoRen12345
  • 2016年05月09日 09:06
  • 828

剑客决斗(flag)

在路易十三和红衣主教黎塞留当权的时代,发生了一场决斗。n个人站成一个圈,依次抽签。抽中的人和他右边的人决斗,负者出圈。这场决斗的最终结果关键取决于决斗的顺序。现书籍任意两决斗中谁能胜出的信息,但“A赢...
  • try_fei_ge
  • try_fei_ge
  • 2017年08月07日 21:27
  • 104

ACM 110 剑客决斗

戳这里看题目描述在路易十三和红衣主教黎塞留当权的时代,发生了一场决斗。n个人站成一个圈,依次抽签。抽中的人和他右边的人决斗,负者出圈。这场决斗的最终结果关键取决于决斗的顺序。现书籍任意两决斗中谁能胜出...
  • WhiStLenA
  • WhiStLenA
  • 2016年08月16日 18:32
  • 254

NYOJ-剑客决斗-(动态规划)

剑客决斗 时间限制:5000 ms  |  内存限制:65535 KB 难度:5 描述 在路易十三和红衣主教黎塞留当权的时代,发生了一场决斗。n个人站成一个圈,依次抽签...
  • chenyang890
  • chenyang890
  • 2017年07月07日 18:26
  • 133

决斗场 - 实验吧 WEB FALSE

题目链接:http://www.shiyanbar.com/ctf/1787
  • RaAlGhul
  • RaAlGhul
  • 2018年01月07日 23:08
  • 29

[2017雅礼集训]day11 T1 决斗 平衡树+贪心

题目大意:有N个物品不均匀的放在N个盒子里(有些盒子可能很多,有些盒子可能没有),每个物品和每个盒子都有一个权值,要让每个盒子中只能留下一个物品,第i个盒子多余的物品溢出到第i+1个盒子中(n溢出到1...
  • DOFYPXY
  • DOFYPXY
  • 2017年03月18日 11:32
  • 319

2015湖南省队集训DAY8——梦工厂

梦工厂 (yume.cpp/c/pas)Time Limit: 1 s Memory Limit: 128 M 问题描述「有时候用烂了的名字也会别有深意」 ——摘自EN 语录 “这里是...
  • Starry__Night
  • Starry__Night
  • 2015年07月11日 20:37
  • 578

实验吧CTF逆向题目Just Click题解

题目如下: 运行程序: 结合第一张题目提示已经能够猜到 是按一定的顺序点击1,2,3,4四个按钮就好 先来查下壳 这是个什么鬼 没见过的壳 我再试试  发现是.NET的程序 那就上这...
  • xiangshangbashaonian
  • xiangshangbashaonian
  • 2017年12月29日 21:13
  • 67

蓝桥杯练习系统试题集 算法提高 ADV-147 学霸的迷宫

问题描述   学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗。但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫。因为班长还有妹子要陪,...
  • EventQueue
  • EventQueue
  • 2016年03月15日 09:33
  • 1846
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NYoj110 剑客决斗
举报原因:
原因补充:

(最多只允许输入30个字)