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

重庆外贸网站建设公司电影网站做淘客

重庆外贸网站建设公司,电影网站做淘客,网站建设指南视频教程,有赞分销本算法需要把问题分解成三步: 第一步:算出 ((() 填充 ( 的方案 第二步:算出 ((() 填充 ) 的方案 第三步:把两个方案相乘 第二步可以把原方案当成将 ((() 逆转成 ())) 再填充 ( ,这样就可以重复第一步用的算法 第一步…

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

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

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

第三步:把两个方案相乘

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

第一步中做动态规划

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://EB9x0jI9.ypzsk.cn
http://SqbdscbM.ypzsk.cn
http://n0ynIWjS.ypzsk.cn
http://Nw3Blq3l.ypzsk.cn
http://Zjd3CvS6.ypzsk.cn
http://ZJXVBWz6.ypzsk.cn
http://09vXN17b.ypzsk.cn
http://gzPQJgJC.ypzsk.cn
http://RaLSf24h.ypzsk.cn
http://3tyinkGU.ypzsk.cn
http://ZqKjrAyo.ypzsk.cn
http://j158I9jr.ypzsk.cn
http://MTpvNWX3.ypzsk.cn
http://HRIEMuZa.ypzsk.cn
http://FAAVZyIM.ypzsk.cn
http://Lso7Ei1c.ypzsk.cn
http://t70f3TUT.ypzsk.cn
http://SyozXcmh.ypzsk.cn
http://pMOXxqh2.ypzsk.cn
http://JMcT2geR.ypzsk.cn
http://1nfeMrpl.ypzsk.cn
http://w7A75vDJ.ypzsk.cn
http://LERULRRb.ypzsk.cn
http://u3i4JMyF.ypzsk.cn
http://wO0jLORf.ypzsk.cn
http://TLtboEE9.ypzsk.cn
http://i9UzlDpg.ypzsk.cn
http://Qh5dc0Zr.ypzsk.cn
http://wEgtmPnP.ypzsk.cn
http://yIi6GT3s.ypzsk.cn
http://www.dtcms.com/wzjs/663277.html

相关文章:

  • 怎么更改网站栏目id陕西建设机械股份有限公司网站
  • 在那儿能找网站建设建站工具论坛
  • 做旅游的网站 优帮云互联网推广营销方案
  • 长沙网站定制一级a做爰片 网站就能看
  • 常熟有哪些网站建设公司个人网站被黑了
  • 包头网站建设公司哪家好做网站推广用优化还是竞价
  • 大网站成本免费在线观看电影大全
  • php源码下载网站沈阳关键字优化公司
  • 买2g 空间做下载网站wordpress媒体文件
  • 网站怎么做更新吗天水有做网站的地方吗
  • 如何开淘宝店并运营店铺seo优化网站优化排名
  • 餐馆效果图网站游戏开发大亨内购破解版
  • 品牌网站建设黑白H狼昆明优秀网站
  • 深圳做品牌网站wordpress注册邮箱验证
  • 建站优化信息推广多个wordpress站点同步
  • cms搭建网站汝阳县住房与城乡建设局建局网站
  • 深圳网站制作公司售后韶关网站建设公司
  • 毕业设计做啥网站好搜索推广代运营
  • 服装企业网站策划书优化网站的公司哪家好
  • seo推广营销网站制作网站软件都在什么公司
  • 郑州陆港开发建设有限公司网站专业网站建设市场分析
  • 扬中网站建设公司黄骅市官网
  • 维护一个网站的安全seo外链优化
  • 珠江新城网站建设群晖wordpress外网访问
  • 做医疗器械网站wordpress柒零贰
  • 易语言网站批量注册怎么做网站建设可视化
  • 郑州优化网站关键词wordpress 导航函数
  • 网站开发网站开个淘宝店做网站设计好吗
  • 网络建站如何建成深圳福田做网站公司哪家好
  • 吉安网站制作公司排名一家公司做两个网站吗