摘要: 刚刚看到这个题感觉是博弈题;不过有感觉不像,应该是个贪心;于是就想贪心策略;举了一个例子:33 1 2 34 3 4 1 25 4 1 2 5 8如果他们两个每次都拿对自己最有利的那个的话,C的得分是14分;但是C作为第一个选手,他有更好的策略,只拿前一半,后一半给J,中间的再分;这样的话C的得分就能达到15分;同样J也有这样的策略,他也能保证自己最少能拿到后一半的分(跟风式的拿);这样的话,贪心策略就明朗了!#include#include#include#define maxn 105using namespace std;int s[maxn];int c,j;int main(){ . 阅读全文
posted @ 2014-02-22 13:59 Yours1103 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 这个题目的突破口就是固定最短长度,然后以二进制的形式分层;最后把需要的曾连起来;#include#include#define maxn 105using namespace std;bool map[maxn][maxn];void link(int x,int y){ map[x][y]=1; map[y][x]=1;}void pre(){ link(1,3); link(1,4); link(2,100); for(int i=3; i<60; i+=2) { link(i,i+2); link(i,i+3); ... 阅读全文
posted @ 2014-02-22 12:29 Yours1103 阅读(298) 评论(0) 推荐(0) 编辑