zoukankan      html  css  js  c++  java
  • codeforces 608C:(dp)

    从又往左点灯塔,点亮一个的同时,往左di范围内的灯塔全部被破坏。现在能在最右端按一个灯塔,攻击范围任意,问到最后最少有几个灯塔留下

    用dp瞎搞。具体看代码吧

    #include"cstdio"
    #include"queue"
    #include"cmath"
    #include"stack"
    #include"iostream"
    #include"algorithm"
    #include"cstring"
    #include"queue"
    #include"vector"
    #define ll long long
    
    using namespace std;
    const int MAXN = 1e6;
    const int MAXE = 200500;
    const int INF = 0x3f3f3f;
    struct node{
        int a,b;
    }x[MAXN];
    
    int sum[MAXN];
    int dp[MAXN*10];
    
    bool cmp(node x,node y){
        return x.a<y.a;
    }
    
    int main(){
        int n;scanf("%d",&n);
        int maxv=-1;
        for(int i=0;i<n;i++) {
            scanf("%d%d",&x[i].a,&x[i].b);
            maxv=max(maxv,x[i].a);
        }
        if(n==1){
            printf("0
    ");
            return 0;
        }
        sort(x,x+n,cmp);
        dp[x[0].a]=1;
        for(int i=x[0].a+1,j=1;i<=maxv;i++){
            if(i>=x[j].a){
                int t=x[j].a-x[j].b-1;
                if(t>=0)dp[i]=dp[t]+1;
                else dp[i]=1;
                j++;
            }
            else dp[i]=dp[i-1];
        }
        int ans=INF;
        for(int i=x[0].a;i<=maxv;i++) ans=min(ans,n-dp[i]);
        //cout<<i<<'	'<<dp[i]<<endl;
        printf("%d
    ",ans);
        return 0;
    }
    View Code
  • 相关阅读:
    Hibernate 5.x 生成 SessionFactory 源码跟踪分析
    编译iftop
    Too many open files
    ffmpeg指定网卡
    abrt-hook-ccpp使用CPU太多
    ffplay播放时显示信息的意义
    Windows换行符和Linux换行符的替换
    directshow在WIN10下的一个BUG
    使用mirrordriver截屏
    mac xmind 激活
  • 原文地址:https://www.cnblogs.com/luxiaoming/p/5073982.html
Copyright © 2011-2022 走看看