哎,CF终于变色了A题:我写了个二分,囧。。。B题:模拟题,水C题:想了半天,水王(一学长)告诉我是DP,果断敲了dp[i][j]表示i字符走到j字符最大的权值View Code int dp[30][30];int max(int a,int b){ return a>b?a:b;}int main(){ int n,i,j,k; char s[15]; while(scanf("%d",&n)!=EOF) { memset(dp,0,sizeof(dp)); for(k=1;k<=n;k++) { ... Read More
A题:水题B题:水题C题:用栈来做D题:数学题,需要仔细地分类讨论E题:给你n个数围成一个环,若两个数之间没有比他们更大的数,则称两个数是一对合法的数问n个数中共有几对数合法类似于动态规划,一个相似的题目先破环,变成一条线,把最大的元素放到两个端点(增加了一个元素)用两个数组l[],r[] l[]记录某元素往左边第一个严格大于它的数的位置,r[]记录某元素的右边第一个严格大于它的数的位置。c[i]记录i位置的数与l[i]或r[i]之间等于num[i]的数的个数具体见http://codeforces.com/blog/entry/213代码写的有点搓View Code #include< Read More