当前位置: 首页 > wzjs >正文

虚拟主机网站建设步骤上海环球金融中心门票

虚拟主机网站建设步骤,上海环球金融中心门票,wordpress用户修改文章,浙江省2011年1月高等教育自学考试 网站建设与管理试题与答案本算法需要把问题分解成三步: 第一步:算出 ((() 填充 ( 的方案 第二步:算出 ((() 填充 ) 的方案 第三步:把两个方案相乘 第二步可以把原方案当成将 ((() 逆转成 ())) 再填充 ( ,这样就可以重复第一步用的算法 第一步…

本算法需要把问题分解成三步:

第一步:算出 ((() 填充 ( 的方案

第二步:算出 ((() 填充 ) 的方案

第三步:把两个方案相乘

第二步可以把原方案当成将 ((() 逆转成 ())) 再填充 ( ,这样就可以重复第一步用的算法

第一步中做动态规划

f[i][j]表示第i个右括号左边填充j个左括号的可用的方案数

f[i][j] = f[i-1][0~j]的方案和

cnt1表示需要的总左括号数

f[1][1~cnt1]方案都只有一个

f[1][0]如果不成立方案数为0否则为1

注意:

  1. 这个算法可以利用优化简化复杂度,具体相见代码
  2. f[i][j]对j有要求,j最小是当前右括号个数减去当前位置的左边的括号数(这个在遍历数组的时候利用前缀和求解),也就是所需的左括号的最小(如果为负最小值为0)。
  3. 注意要取余数,最后相乘之后也需要求余
import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
// 先算一次只加左括号的方案
// 再算只加右括号的方案(镜像对称即可)
// 两方案相乘
public class Main{static long M = 1000000007;static char[] cs;public static void main(String[] args){Scanner sc = new Scanner(System.in);cs = sc.nextLine().toCharArray();long ans = clac();int n = cs.length;for(int i = 0,j = n-1;i < j;i++,j--){char temp = cs[i];cs[i] = cs[j];cs[j] = temp;}for(int i = 0;i < n;i++){if(cs[i] == '(')cs[i] = ')';else cs[i] = '(';}ans *= clac();// 反转后再来一遍System.out.println(ans%M);}public static long clac(){int[] sum = new int[5001];int cnt1 = 0;int cnt2 = 0;int n = 0;long[][] f = new long[5001][5001];// 遍历第i个,添加j个左括号的结果int ri = 1;for(char c:cs){if(c == '('){sum[ri]++;cnt2++;}else{ri++;n++;if(cnt2 == 0){cnt1++;}else{cnt2--;}}}for(int i = 1;i <= n;i++){// SUM转为前缀和sum[i] += sum[i-1];}for(int j = 0;j <= cnt1;j++){f[1][j] = 1;}if(sum[1] == 0){// 如果第一个右括号前没有左括号,不加括号的方案无效f[1][0] = 0;}// for(int i = 2;i <= n; i++){// 遍历右括号//   for(int j = Math.max(0,i-sum[i]);j <= cnt1;j++){// 加多少左括号,注意有下限//     for(int k = 0;k <= j;k++){//       f[i][j] = (f[i][j] + f[i-1][k])%M;//     }//   }// }// 优化上文的算法for(int i = 2;i <= n; i++){// 遍历右括号long[] ne = new long[cnt1+1];ne[0] = f[i-1][0];for(int k = 1;k <= cnt1;k++){ne[k] = ne[k-1] + f[i-1][k];ne[k] %= M;}for(int j = Math.max(0,i-sum[i]);j <= cnt1;j++){// 加多少左括号,注意有下限f[i][j] += ne[j];}}return f[n][cnt1];}
}


文章转载自:

http://Dc5oR7Q1.gbsby.cn
http://0rPRGtyT.gbsby.cn
http://nT8BfCAM.gbsby.cn
http://3vxCIdJU.gbsby.cn
http://8Uxk8PGy.gbsby.cn
http://Q8vqlYLK.gbsby.cn
http://Ou1msxNo.gbsby.cn
http://QXWzztnk.gbsby.cn
http://nVOAGtKc.gbsby.cn
http://ErlYBjUe.gbsby.cn
http://6Ccmdjjh.gbsby.cn
http://a8QKmoRD.gbsby.cn
http://VlpAmk9e.gbsby.cn
http://sZpYllxR.gbsby.cn
http://yLWGVhbz.gbsby.cn
http://7yH0ZqQt.gbsby.cn
http://wCTURqtL.gbsby.cn
http://1Ow1mbsI.gbsby.cn
http://8ovbzNGQ.gbsby.cn
http://loVud6vV.gbsby.cn
http://8q14dVvn.gbsby.cn
http://buVn2FQB.gbsby.cn
http://BGlkjQEP.gbsby.cn
http://T6NnaQ23.gbsby.cn
http://mdpcgR3K.gbsby.cn
http://o5U2NO2u.gbsby.cn
http://36UqZTpC.gbsby.cn
http://8NZTw6dY.gbsby.cn
http://GARg7KYV.gbsby.cn
http://RCuAlr76.gbsby.cn
http://www.dtcms.com/wzjs/735398.html

相关文章:

  • 网站建设公司咋样网站建设及运维合同
  • 品牌推广策略宿迁seo
  • 做网站设计是什么专业wordpress添加new
  • 谷歌建站多少钱设置什么引擎营销是用户主导的网络营销方式
  • 外贸营销型网站大连网站哪家做的好?
  • 做服务器的网站都有哪些100 款软件app免费下载大全
  • 诸暨哪些公司可以制作网站做网站建设公司赚钱吗
  • html5网站开发技术天津市建设网站
  • 建设公共资源交易中心网站烟台房地产网站建设
  • vps网站管理助手下载网站开发三端指哪三端
  • 济宁市做网站的公司北京百度关键词优化
  • 辉县市工程建设网站建设可信赖的手机网站设计
  • 重庆 网站开发全国城建中心官网入口
  • 徐州网站建设技术外包网站优化的代码
  • 珠海新盈科技网站建设湖北网站建设
  • seo排名优化方式方法seo英文怎么读
  • 福州网站微信公众号西宁网站系统建设
  • 镇江网站建设dmooo做企业网站合同
  • 公司要做好网站怎样做asp网站源码免费版
  • 云主机搭建多个网站网站规划与设计方向
  • 做企业网站需要招标公告上面的技术参数写什么wordpress 邮箱登录
  • 制作网站的视频教程建站一条龙的服务流程是怎么样的
  • 一般网站栏目结构广州网站建设推荐q479185700顶上
  • 怎么进行网站建设株洲seo优化报价
  • 如何做古诗词网站温州网站建设(首选国鼎网络)
  • 车都建设投资集团网站电商运营培训正规平台
  • 科讯cms怎么做网站地图免费精品网站模板
  • 新手学做网站能打开任何网站浏览器下载
  • 专业网站运营托管网站做哪些主题比较容易做
  • 贵港市建设局网站做网站可以用什么数据库