zoukankan      html  css  js  c++  java
  • ZOJ

    /*这题的思路是:不断取交集,并判断每个取到的交集中,能分出几个大小为3的子集(以双方都通话的天数为集合元素)
    //注意,如果没有大于3的子集,那么就说明友谊度不会累加,但也不会扣除,按照原来的计算,不到反而会扣,所以要和0取max
    // 参考博客; http://blog.csdn.net/a664607530/article/details/70893623
    // 我写的和他略有不同的地方是,我的循环退出条件,改为了枚举完任意一个人的所有区间,则退出...不过这个只是小节,怎么写都无妨,最终是对的就行
    */


    #include <iostream>
    using namespace std;
    
    struct time
    {
    	int l, r;
    }a[105], b[105];
    int main()
    {
    	cin.sync_with_stdio(false);
    	cin.tie(0);
    	
    	int t, n, m, x, y;
    	cin >> t;
    	while (t--)
    	{
    		cin >> n >> m >> x >> y;
    		
    		for (int i = 1; i <= x; i++) cin >> a[i].l >> a[i].r;
    		for (int i = 1; i <= y; i++) cin >> b[i].l >> b[i].r;
    		
    		int ii = 1, jj = 1, ans = 0;
    		while (ii <= x && jj <= y)
    		{
    			int mi, ma;
    			ma = max(a[ii].l, b[jj].l);
    			mi = min(a[ii].r, b[jj].r);
    			ans += max(mi - ma - m + 2, 0);
    			
    			if (a[ii].r < b[jj].r) ii++;
    			else if (a[ii].r > b[jj].r) jj++;
    			else ii++, jj++;		
    		}
    		cout << ans << endl;
    	}
    	return 0;
    }


  • 相关阅读:
    MapReduce&Yarn
    Linux网络配置问题
    Linux命令总结
    Hadoop优化&新特性
    Zookeeper
    idea中修改注释颜色
    Linuxbash未找到命令问题
    Hadoop3.0入门
    HDFS
    SpringBoot
  • 原文地址:https://www.cnblogs.com/mofushaohua/p/7789468.html
Copyright © 2011-2022 走看看