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

网站被镜像怎么做推广信息发布平台

网站被镜像怎么做,推广信息发布平台,给公司建立网站不可以做到的是,做独立网站需要注册公司么目录 100262. 求出加密整数的和 原题链接 思路分析 AC代码 3080. 执行操作标记数组中的元素 原题链接 思路分析 AC代码 100249. 替换字符串中的问号使分数最小 原题链接 思路分析 AC代码 100241. 求出所有子序列的能量和 原题链接 思路分析 AC代码 100262. 求出…

目录

100262. 求出加密整数的和

原题链接

思路分析

AC代码

3080. 执行操作标记数组中的元素

原题链接

思路分析

AC代码

100249. 替换字符串中的问号使分数最小

原题链接

思路分析

AC代码

100241. 求出所有子序列的能量和

原题链接

思路分析

AC代码



100262. 求出加密整数的和

原题链接

100262. 求出加密整数的和

思路分析

直接模拟即可

O(nlogn)

AC代码

class Solution {
public:int sumOfEncryptedInt(vector<int>& nums) {for(auto& x : nums){string s = to_string(x);char ma = *max_element(s.begin(), s.end());for(auto& ch : s) ch = ma;x = stoi(s);}return accumulate(nums.begin(), nums.end(), 0);}
};

3080. 执行操作标记数组中的元素

 

原题链接

3080. 执行操作标记数组中的元素

思路分析

   还是模拟题

把所有元素放set内,然后遍历操作,如果访问过就执行操作二,否则先执行操作一再执行操作二

O(nlogn)(因为最多删n次)

AC代码

class Solution {
public:typedef pair<int,int> pii;vector<long long> unmarkedSumArray(vector<int>& nums, vector<vector<int>>& q) {int n = q.size(), m = nums.size();long long tot = 0;vector<long long> ret(n);vector<bool> vis(m);set<pii> s;for(int i = 0; i < m; i++ ) s.insert(make_pair(nums[i], i)), tot += nums[i];for(int j = 0; j < n; j++){int i = q[j][0], k = q[j][1];if(!vis[i]) s.erase(s.find(make_pair(nums[i], i))), tot -= nums[i], vis[i] = 1;for(; k > 0 && s.size(); k--) vis[s.begin()->second] = 1, tot -= s.begin()->first, s.erase(s.begin());ret[j] = tot;}return ret;}
};

100249. 替换字符串中的问号使分数最小

原题链接

100249. 替换字符串中的问号使分数最小

 

思路分析

 贪心

我们考虑最终状态的分数来自于26个字母的贡献,不同字母之间互不影响

那么最终状态其实就是有26个桶,桶内元素个数分别为cnt[i],然后满足Σcnt[i] = len(s)

然后对于每个桶的贡献为(cnt[i] - 1) * cnt[i] / 2

要使得所有桶的贡献和最小,我们就可以贪心地来做

先把不是问号地字符放到桶中,然后顺序遍历问号,将其赋值为当前桶内数目最少的字符,然后更新桶

但这只是获取了最终的各个桶内字符的个数,然后我们将原有的字符从桶中拿去,然后遍历问号位置,按字符序从桶内取出字符即可

O(nU),U为字符集大小

AC代码

class Solution {
public:string minimizeStringValue(string s) {int cnt[26]{0};string ret = s;for(auto x : ret) if(x != '?') cnt[x - 'a']++;for(auto& ch : s)if(ch == '?'){int i = min_element(cnt, cnt + 26) - cnt;ch = i + 'a', cnt[ch - 'a']++;}for(auto x : ret) if(x != '?') cnt[x - 'a']--;for(auto& ch : ret){if(ch == '?'){int i = 0;for(; !cnt[i]; i++);ch = i + 'a', cnt[i]--;}}return ret;}
};

100241. 求出所有子序列的能量和

原题链接

100241. 求出所有子序列的能量和

思路分析

很明显的01背包

先考虑和为k的子序列数目,显然就是01背包板子问题

但是这道题相当于是求子序列的和为k的子序列的和的和

那么我们这样考虑,对于那些和为k的子序列可以被多少序列包含?

显然有2 ^ (n - len)个序列包含了这个和为k的子序列

那么我们只需要在01背包的板子的转移方程稍加修改即可

定义f[i][j]为前i个元素中,和为j的所有子序列的能量和

那么递推的时候还是选或不选的思路

选或不选,有f[i][j] = f[i - 1][j] * 2,即nums[i]可以加入前面和为j的子序列也可以不加入

然后我们注意,nums[i]也可以和前面和为j - nums[i]的子序列组合形成一个新的和为j的序列

所以当j > nums[i]的时候,有f[i][j] += f[i - 1][j - nums[i]]

O(nk)

AC代码

class Solution {
public:
static constexpr int mod = 1e9+7;int sumOfPower(vector<int>& nums, int k) {long long f[105]{0};f[0] = 1;for(auto x : nums)for(int j = k; j >= 0; j--)if(j >= x) f[j] = (f[j] * 2 + f[j - x]) % mod;else f[j] = (f[j] << 1) % mod;\return f[k];}
};

http://www.khdw.cn/news/20782.html

相关文章:

  • 如何做机票预订网站宁波网站建设与维护
  • 做身份证网站十大门户网站
  • 网络营销的机遇和挑战互联网优化是什么意思
  • 网站qq代码seo云优化软件
  • 绿色的医疗资讯手机网站wap模板html源码下载网站关键词排名分析
  • 淄博网站制作公司托管北京seo加盟
  • 宝安网站设计哪家好管理人员课程培训
  • 做h5的网站有哪些十大免费b2b网站
  • 美女图片wordpress博客主题seo经理
  • 微信开发流程四步seo需要掌握什么技能
  • 网站建设优化服务价位免费网上申请注册
  • 网站开发程序员是做什么的中超最新积分榜
  • 怎么在百度建设一个网站房产网站建设
  • web网站开发搜索seo引擎
  • 服装外贸行业发展趋势谷歌seo排名技巧
  • 数据库 搭建 网站杭州seo的优化
  • 西安知名的集团门户网站建设服务商baike seotl
  • 网站进入特效做运营的具体做什么
  • 哪些网站做的好看沈阳高端关键词优化
  • 建设pc 移动网站网络舆情监测平台
  • wordpress 标题颜色重庆seo网站推广费用
  • 中金超钒 网站建设河源疫情最新通报
  • 软件大全链接网站seo的排名机制
  • 临沂建设网站制作公司百度推广app下载安卓版
  • 培训网站建设公司哪家好技术培训机构
  • 建站程序下载百度官网下载安装
  • 精品网站建设公司商品营销推广的方法有哪些
  • 教务管理系统登录入口官网提供seo顾问服务适合的对象是
  • 网站原创文章规范海外推广服务
  • 宜宾做直销会员网站优化建站seo门户