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

上海网站开发有限公司微网站一键通话

上海网站开发有限公司,微网站一键通话,买了个服务器 怎么做网站,广西住房与城乡建设部网站元素和最小的山形三元组 II 预处理前缀和后缀最小值,记为pre[i]和sa[i] 对于当前编号i,如果前面的最小值和后面的最大值都小于nums[i],则记录ans[i] nums[i]pre[i-1]sa[i1] 结果输出最小的ans[i]即可。 合法分组的最少组数 统计每一个数字出现的次数。将每一个数…

元素和最小的山形三元组 II

预处理前缀和后缀最小值,记为pre[i]和sa[i]
对于当前编号i,如果前面的最小值和后面的最大值都小于nums[i],则记录ans[i] = nums[i]+pre[i-1]+sa[i+1]
结果输出最小的ans[i]即可。

合法分组的最少组数

统计每一个数字出现的次数。将每一个数字分为大小为 d d d d + 1 d+1 d+1的组,令 d d d尽可能大。
d d d不满足单调性,不好二分。思路时直接暴力。
计最小出现次数为 m n mn mn,出现过的数字个数为 c n t cnt cnt,显然有 m n ∗ c n t ≤ n u m s . l e n g t h mn*cnt \le nums.length mncntnums.length
而显然有 d + 1 ≤ m n d+1 \le mn d+1mn,因此直接枚举d
对于某个数字i,其出现次数为 t o t i tot_i toti,若 d d d成立则需要满足存在x令 x d ≤ t o t i ≤ x ( d + 1 ) xd \le tot_i \le x(d+1) xdtotix(d+1)
x = t o t i / d x = tot_i/d x=toti/d,即以 d d d为标准将 t o t i tot_i toti分为x组,此时还剩 t o t i % d tot_i\%d toti%d个元素,每一组中最多可以容纳 d + 1 d+1 d+1个元素,最多可以容纳x个元素,使x组的个数都变为%d+1%。因此只要满足 t o t i % d ≤ x tot_i\%d \le x toti%dx t o t i % d ≤ t o t i / d tot_i\%d \le tot_i/d toti%dtoti/d,则对数字 i i i而言 d d d是合法的分组。
已知d,数字i的分组个数为 t o t i + d m n + 1 \frac{tot_i+d}{mn+1} mn+1toti+d x x x需要取最小值满足 x d ≤ t o t i ≤ x ( d + 1 ) xd \le tot_i \le x(d+1) xdtotix(d+1),有 ⌈ t o t i / ( d + 1 ) ⌉ ≤ x \lceil tot_i/(d+1)\rceil \le x toti/(d+1)⌉x,因此取 x = ⌈ t o t i d + 1 ⌉ x =\lceil \frac{tot_i}{d+1}\rceil x=d+1toti
枚举 d d d,计算分组个数,求分组最小值即可,复杂度为 O ( m n ∗ c n t ) O(mn*cnt) O(mncnt)

得到 K 个半回文串的最少修改次数

数据只有200,想法是纯暴力
M i n T i m e s [ i ] [ j ] MinTimes[i][j] MinTimes[i][j]为子串 s t r i j str_{ij} strij变成半回文串最少的次数,暴力计算,复杂度为 O ( n 4 ) O(n^4) O(n4)
令dp[i][j]为以 s t r i str_i stri为结尾时分为 j j j段最少的操作次数
d p [ i ] [ j ] = min ⁡ d p [ z ] [ j − 1 ] + M i n T i m e s [ z + 1 ] [ i ] dp[i][j] = \min dp[z][j-1]+MinTimes[z+1][i] dp[i][j]=mindp[z][j1]+MinTimes[z+1][i]
总复杂度 O ( n 4 ) O(n^4) O(n4)
计算MinTimes时可以将一个n优化成 n \sqrt n n 甚至预处理成 lg ⁡ n \lg n lgn,但是 O ( n 4 ) O(n^4) O(n4)也能过就是了,大概是数据比较弱吧

class Solution {
public:int MinTimes[210][210];int dp[210][210];int calTimes(string &s,int l,int r){int ret = (1<<30);int len = r-l+1;while(--len){if((r-l+1)%len)continue;int ans = 0;for(int i=0;i<len;++i){string t1;for(int j=l+i;j<=r;j+=len)t1 += s[j];for(int c=0;c<t1.size()/2;++c)if(t1[c]!=t1[t1.size()-1-c])ans++;}ret = min(ret,ans);}return ret;}int minimumChanges(string s, int k) {memset(dp,0x3f,sizeof(dp));dp[0][0] = 0;int l = s.size();     for(int i=0;i<l;++i){for(int j=i+1;j<l;++j){MinTimes[i][j] = calTimes(s,i,j);}MinTimes[i][i] = (1<<30);}for(int i=0;i<l;++i){for(int j=0;j<=i;++j){for(int z=1;z<=k;++z){dp[i+1][z] = min(dp[i+1][z],dp[j][z-1]+MinTimes[j][i]);}}}return dp[l][k];}
};
http://www.yayakq.cn/news/163720/

相关文章:

  • 简单的个人网站制作流程苏州正规制作网站公司
  • 嘉兴企业网站建设公司软文推广文章范文1000
  • 做网站找众展建设全国科技中心网站
  • 商业网站建设定位百度 seo优化作用
  • 图文网站模版游戏开发和网站开发
  • vue响应式网站开发公司如何做网络营销
  • 安徽做网站电话cms的功能有哪些
  • 网站建设的类型或分类软件正版化情况及网站建设情况
  • 网站优化公司排名上海市城乡建设管理局网站
  • 微信网站如何制作软件无忧网站建设报价
  • 中国空间站视频wordpress 截断插件
  • 郑州网站制东阳市建设局网站
  • 福州电子网站建设wordpress怎么播放视频
  • 三栏式布局的网站有哪些水印wordpress
  • 电子商务个人网站可以备案吗wordpress整站源码
  • 泌阳专业网站建设那网站做问答
  • 网站建设 费用高唐山公司建设网站
  • 六安网站制作公司排名怎么做百度网站验证码
  • 甜品网站策划与建设药品销售推广方案
  • 清溪镇做网站详情页设计怎么收费
  • 新网站怎么做seo潍坊网站建设哪家便宜
  • 电商网站莱阳网站建设
  • 安徽住房与城乡建设厅网站专业北京seo公司
  • 淘宝客做网站卖什么好网站制作多少钱?
  • 建立一个虚拟公司的网站室内设计做效果图可以接单的网站
  • 中国免费企业建站怎么开发软件挣钱
  • 汕头市门户网站建设网站seo是啥
  • 怎么做图片网站源码十大网站在线观看
  • 访问量大的网站选择多少流量的服务器何时个人做论坛网站有哪些
  • c 可以用来做网站吗注册公司在哪个网站注册