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

坊网站建设关键词优化需要从哪些方面开展?

坊网站建设,关键词优化需要从哪些方面开展?,下载企业微信最新版,企业网站维护建设pptC. Almost Increasing Subsequence 题目: 思路: 前缀和立大功 一个很显然的想法,我们可以拆开整个序列来看看,我们将序列分为 递减子序列 和 剩余情况,那么对于一个递减子序列,其前后要么就是其余情况&am…

C. Almost Increasing Subsequence

题目:

思路:

前缀和立大功

 一个很显然的想法,我们可以拆开整个序列来看看,我们将序列分为 递减子序列 和 剩余情况,那么对于一个递减子序列,其前后要么就是其余情况,要么就是没有元素

那么贪心的想,对于一个递减子序列,我们能选多少个元素呢?显然最多选两个,所以我们可以考虑前缀和来做

我们定义 sum[i] 为前 i 个元素中有多少个元素是 x >= y >= z 的

那么答案就是 len - (sum[r] - sum[l+1])

为什么是这个呢?由于 sum[i] 和 a[i-1] a[i-2] 有关,但是对于现在来说我们最多只能选 a[i],不能往前选,那么为了限制区间,我们就要选 sum[i+2] 这样就和 a[i+1] a[i] 有关了,但是还要记得我们要减去的应该是 i+2 前面的 (因为要包括 i),所以要减去 sum[l + 1] 而不是 sum[l + 2] (类比正常前缀和)

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"void solve()
{int n, q;cin >> n >> q;vector<int> a(n+1,0);for (int i = 1; i <= n; i++){cin >> a[i];}vector<int> sum(n + 2, 0);for (int i = 3; i <= n; i++){sum[i] = sum[i - 1];if (a[i-2] >= a[i-1] && a[i-1] >= a[i]){sum[i]++;}}for (int i = 0; i < q; i++){int l, r;cin >> l >> r;int len = r - l + 1;if (len < 3){cout << len << endl;continue;}cout << len - (sum[r] - sum[l + 1]) << endl;}
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;while (t--){solve();}return 0;
}

D. Fish Graph

题目:

思路:

无向图找环,得开一篇学学

很简单的一题,只要你会找环

题目化简一下就是找到一个环,且满足这个环上至少有一点连接了2个除环上点以外的点

由于 n 和 m 都很小,那么直接暴力找即可

具体的我们可以枚举那个特殊点,这个特殊点满足度大于等于 4,然后模拟即可 

代码:

#include <iostream>
#include <algorithm>
#include<cstring>
#include<cctype>
#include<string>
#include <set>
#include <vector>
#include <cmath>
#include <queue>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <memory>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"void solve()
{int n, m;cin >> n >> m;vector<vector<int>> g(n + 1);for (int i = 0; i < m; i++){int u, v;cin >> u >> v;g[u].push_back(v);g[v].push_back(u);}int flag = 0;vector<int> vis(n + 1, 0),col(n+1,0),p;auto dfs = [&](auto self, int fa, int se, int root) -> void {if (flag) return;vis[se] = 1;p.push_back(se);for (auto& son : g[se]){if (flag)return;if (fa == son) continue;if (son == root && fa != root){for (int i = 1; i <= n; i++){col[i] = 0;}for (auto & pi : p){col[pi] = 1;}int excnt = 0;for (auto& next : g[root]){if (col[next] != 1)excnt++;if (excnt >= 2)break;}if (excnt < 2){continue;}yes;cout << p.size() + 2 << endl;for (int i = p.size() - 1; i >= 1; i--){cout << p[i] << " " << p[i - 1] << endl;}cout << root << " " << se << endl;excnt = 0;for (auto& next : g[root]){if (col[next] != 1)excnt++, cout << root << " " << next << endl;if (excnt >= 2)break;}flag = 1;return;}if(vis[son] != 1)self(self, se, son, root);}p.pop_back();};for (int i = 1; !flag && i <= n; i++){if (g[i].size() < 4){continue;}  for (int j = 1; j <= n; j++){vis[j] = 0;}p.clear();dfs(dfs, 0, i, i);}if (!flag)no;
}signed main()
{cin.tie(0)->sync_with_stdio(false);int t = 1;cin >> t;while (t--){solve();}return 0;
}

http://www.dtcms.com/wzjs/166530.html

相关文章:

  • 南和县建设局黄页网站合肥今日头条新闻
  • 商城展示网站建设怎么做网络推广
  • tornado网站开发 教程提高工作效率的方法有哪些
  • 西安做网站推广网络推广员的日常工作
  • 泰安网站建设百度直播间
  • 张店易宝网站建设西安seo网站管理
  • 龙江网站设计制作做百度推广一个月多少钱
  • 网站正在建设中备案灰色词秒收录代发
  • wordpress登陆密码错误广州seo关键词优化外包
  • 汕头第一网seo怎么推排名
  • 陕西省建设银行网站个人如何推广app
  • 佳木斯网站建设公司精准客户运营推广
  • 家乡的网站设计模板品牌推广的方式
  • 做物业管理的企业网站品牌营销的四大策略
  • 重庆做网站的福建省人民政府
  • 网站开发技术 htmlseo基础入门
  • 苏州做网站优化的公司上海seo关键词优化
  • 聊城做网站的公司案例深圳seo招聘
  • 做字幕网站推广策略可以分为哪三种
  • 网站制作问题 图片版权网站登录入口
  • 建立可以在线做照片的网站软文推广多少钱
  • 搭建一个小程序需要什么网络推广优化服务
  • 网站建设 需求新闻内容摘抄
  • 平台公司名字大全系统优化大师官方下载
  • 什么网站加盟代理做的专业山西百度查关键词排名
  • 日本做受网站商务软文写作300
  • 摄影设计海报游戏优化是什么意思
  • 网页设计与制作建立站点实验报告网页百度
  • 做网站怎么优化网站推广广告
  • 360网站上做宣传要多少钱成人技能培训