• LibreOJ #10087. 「一本通 3.4 例 1」Intervals


    为什么差分约束的题我总能不用差分约束做。


    这道题我用的贪心。其实就是区间选点问题啦,对于这类问题,我们的贪心策略肯定是让多个区间覆盖在一个点上,那么我们可以想到的就是按照末尾排序,在一个区间的末尾去加点,这样才能使一个点覆盖更多的点,然后就随便统计统计,如果想要优化,可以加树状数组来搞,但是由于太懒了,没加~

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    struct node{
    	int l , r , w;
    };
    node e[50010];
    int n , ans;
    int vis[50010];
    bool cmp(node x , node y){
    	return x.r < y.r;
    }
    int main(){
    	int T;
    	cin >> T;
    	while(T--){
    		cin >> n;
    		memset(vis , 0 , sizeof(vis));
    		ans = 0;
    		for(int i = 1; i <= n; i++) cin >> e[i].l >> e[i].r >> e[i].w;
    		sort(e + 1 , e + n + 1, cmp);
    		for(int i = 1; i <= n; i++){
    			int sum = 0;
    			for(int j = e[i].l; j <= e[i].r; j++) 
    				if(vis[j]) sum++;
    			if(sum >= e[i].w) continue;
    			for(int j = e[i].r; j >= e[i].l; j--){
    				if(!vis[j]) vis[j] = 1 , sum++ , ans++;
    				if(sum >= e[i].w) break;
    			}
    		}
    		cout << ans << endl;
    	}
    	return 0;
    }
    
  • 相关阅读:
    elastalert邮件告警
    Kubernetes(k8s)集群安装
    supervisord进程管理
    Flask Ansible自动化平台搭建(持续更新)
    pandas数据导出Execl
    docker运行dubbo-admin
    Activemq集群搭建
    Zabbix自动发现java进程
    selenium爬取百度图片
    Beta 冲刺(1/7)
  • 原文地址:https://www.cnblogs.com/bzzs/p/13231033.html
Copyright © 2020-2023  润新知