0x02 枚举、模拟、递推

1、TYVJ1266(这站是不是已经倒闭了啊) USACO陈年老题,对于这种开关问题啊,最多只按一次,而且第一行随便按完下面的就全确定了,类似的还有固定翻转一个长度的区间,这个也是最多翻一次的而且翻的次数为n-L

2、POJ1958 四塔的汉诺塔问题。但是好像是弱化的二维DP递推,马马虎虎吧

3、bzoj1218 陈年老题,二维前缀和+老古董套路容斥

4、POJ3263 有点意思的题,假如我做的话就会强行差分约束,但是我不能确定类spfa的做法能否满足。正解是对于两个个可以相互看到的点,当然先是看作一个约束条件,他们之间的点一定比他们要至少小1。那么就是区间修改-1,用差分数组。(想到GDOI左老师的题,不定区间用差分转化)
这题还有个小点要注意。
对于两个约束区间,要么是包含关系,要么是不相交,否则矛盾。
细节还挺多

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<map>
using namespace std;
map<int,bool>mp[11000];

int c[11000];
int main()
{
    int n,T_T,H,Q;
    scanf("%d%d%d%d",&n,&T_T,&H,&Q);
    while(Q--)
    {
        int l,r;
        scanf("%d%d",&l,&r);
        if(l>r)swap(l,r);
        l++,r--;
        if(r>=l&&mp[l][r]==false)
        {
            mp[l][r]=true;
            c[l]--;c[r+1]++;
        }
    }
    for(int i=1;i<=n;i++)
        c[i]+=c[i-1], printf("%d\n",H+c[i]); 
    return 0;
}
POJ3263

 

转载于:https://www.cnblogs.com/AKCqhzdy/p/9032478.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值