摘要: 题意:FJ有n头牛,排列成一条直线(不会在同一个点),给出每头牛在直线上的坐标x。另外,每头牛还有一个自己的声调v,如果两头牛(i和j)之间想要沟通的话,它们必须用同个音调max(v[i],v[j]),沟通起来消耗的能量为:max(v[i],v[j]) * 它们之间的距离。问要使所有的牛之间都能沟通(两两之间),总共需要消耗多少能量。思路:此题和hdu3015(我前面写的,有详细解答)一种类型的,传送门:http://www.cnblogs.com/ziyi--caolu/archive/2012/12/30/2839892.html#include<iostream>#inclu 阅读全文
posted @ 2013-01-02 21:31 紫忆 阅读(467) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1358#include<iostream>#include<string.h>using namespace std;#define M 1000005int next[M];char s[M];void getnext(){ int i=0,j=-1; next[0]=-1; int len=strlen(s); while(i<len) { if(j==-1||s[i]==s[j]) { i++; j++; next[i]=j; } else j=next[j]; }}int 阅读全文
posted @ 2013-01-02 19:38 紫忆 阅读(212) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3746#include<iostream>#include<string.h>using namespace std;int next[200000];char s[200000];void getnext(){ int i=0,j=-1; next[0]=-1; int len=strlen(s); while(i<len) { if(j==-1||s[i]==s[j]) { i++; j++; next[i]=j; } else j=next[j]; }}int main() 阅读全文
posted @ 2013-01-02 18:47 紫忆 阅读(194) 评论(0) 推荐(0) 编辑