Round 0927小结

T1 IOI 2009 小熊
没有在实现中注意题目里的条件(蜂蜜不能经过喜欢吃蜜蜂的小熊的家)。

T2 IOI 2010 生活品质
这就比较尴尬了:没想到怎么写=。=
这个 DZY Love Sorting里用过的套路没想起来非常尴尬。
简单地说就是用01序列代替复杂的排列简化判定条件。
具体二分的时候感觉到是在二分一个可行范围。

T3 IOI 2009 旅行商
常规线段树优化dp。
不过还是切分提示的好。
bblss123神犇可以用spfa虐个15分

FastInput by bblss123

char buf[M*8],*p;
inline void rd(int &a){
    for(++p;*p<=32;++p);
    for(a=0;47<*p;++p)a=a*10+(*p^48);
}
int main(){
    p=buf-1;
    fread(buf,1,M*M*8,stdin);
      ....
}

Templet by ShinFeb

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <cmath>
#include <cctype>
#include <cassert>
#include <ctime>
#include <cstdlib>
#include <queue>
#include <set>
#include <bitset>
#include <stack>

//long long,memory,freopen
using namespace std;

#define rep(i,s,t) for(register int i=s,t_=t;i<t_;i++)
#define per(i,s,t) for(register int i=(t)-1,s_=s;i>=s_;i--)
#define prt(x) cout<<#x<<":"<<x<<" "
#define prtn(x) cout<<#x<<":"<<x<<endl
#define shut assert(0)
#define when printf("%.2f\n",1.0*clock()/CLOCKS_PER_SEC)
#define sqr(x) ((x)*(x))
#define inf (1<<30)
#define INF (1ll<<62)

typedef long long ll;
typedef double db;
struct ii
{
    int x,y;
    ii(int x=0,int y=0):x(x),y(y){}
    inline bool operator<(const ii &a)const{return (x==a.x&&y<a.y)||x<a.x;}
    ii operator+(const ii &a)const{return ii(x+a.x,y+a.y);}
};

template<class v>void sc(v &x)
{
    char c;x=0;int f=1;
    while(c=getchar(),c<48)if(c=='-')f=-1;
    do x=x*10+(c^48);
    while(c=getchar(),c>47);
    x*=f;
}
template<class v>void nt(v x)
{
    if(!x)return;
    nt(x/10);putchar('0'+x%10);
}
template<class v>void pt(v x)
{
    if(x<0)putchar('-'),x=-x;
    if(!x)putchar('0');
    else nt(x);
}
template<class v>void ptn(v x)
{
    pt(x);putchar('\n');
}
template<class v>void pts(v x)
{
    pt(x);putchar(' ');
}
template<class v>void pp(v x,int f)
{
    static char ch[]={" \n    "};
    pt(x);putchar(ch[f]);
}
template<class v>inline void Max(v &x,v y){if(x<y)x=y;}
template<class v>inline void Min(v &x,v y){if(x>y)x=y;}
int main()
{
//    freopen("pro.in","r",stdin);
//    freopen("chk.out","w",stdout);
    return 0;
}