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

全国较好的网站建设公司网站开发课程总结

全国较好的网站建设公司,网站开发课程总结,我自己做的网站打开很慢,大画册设计网站题目链接:https://codeforces.com/contest/2070 A. FizzBuzz Remixed 思路: 要使得x mod 3 x mod 5,很明显当x是15的倍数时满足 再观察可以知道,当x 15*k m (m为0 1 2) 时都满足条件 故可写码了 代码: //#in…

题目链接:https://codeforces.com/contest/2070

A. FizzBuzz Remixed

思路:

要使得x mod 3 == x mod 5,很明显当x是15的倍数时满足

再观察可以知道,当x = 15*k + m (m为0 1 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 ll long long
//#define yes cout << "YES" << endl
//#define no cout << "NO" << endl
//
(0 1 3 4 6 7 9) * 3
//
//void solve()
//{
//    int n;
//    cin >> n;
//    ll ans = 0;
//    ans += (n / 15+1) * 3;
//    for (int j = 0; j < 3; j++)
//    {
//        if (15 * (n / 15) + j > n)
//        {
//            ans--;
//        }
//    }
//    cout << ans << endl;
//}
//
//int main()
//{
//    //for (int i = 0; i <= 1000; i++)
//    //{
//    //    if (i >= 0 && i % 3 == i % 5)
//    //        cout << i << endl;
//    //}
//    cin.tie(0)->sync_with_stdio(false);
//    int t = 1;
//    cin >> t;
//    while (t--)
//    {
//        solve();
//    }
//    return 0;
//}

B. Robot Program

思路:

模拟一下即可,先判断能不能回到0点,如果可以会到0点,那么再判断一下能不能再次回到0点,如果能,就能得到步数k,之后直接除即可

代码:

//#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 ll long long
//#define yes cout << "YES" << endl
//#define no cout << "NO" << endl
//
//void solve()
//{
//    ll n, x, k;
//    cin >> n >> x >> k;
//    string s;
//    cin >> s;
//    int time1 = 0;
//    for (int i = 0; i < n; i++)
//    {
//        x += (s[i] == 'L') ? -1 : 1;
//        if (x == 0)
//        {
//            time1 = 1+i;
//            break;
//        }
//    }
//    int time2 = 0;
//    for (int i = 0; i < n; i++)
//    {
//        x += (s[i] == 'L') ? -1 : 1;
//        if (x == 0)
//        {
//            time2 = 1 + i;
//            break;
//        }
//    }
//    ll ans = 0;
//    if (time1 != 0)
//    {
//        ans++;
//        k -= time1;
//        if(time2)
//        ans += k / time2;
//    }
//    cout << ans << endl;
//}
//
//int main()
//{
//    cin.tie(0)->sync_with_stdio(false);
//    int t = 1;
//    cin >> t;
//    while (t--)
//    {
//        solve();
//    }
//    return 0;
//}

C. Limited Repainting

思路:

一道二分+贪心的题目

我们可以二分答案,然后check一下是否满足,那么难点就在于check函数了

现在我们假设答案为mid,那么就有以下几种情况

① s[i] = B

如果a[i] < mid,如果我们还没开始涂,那我们跳过即可,因为最后的答案是取所有a[i]的最大值,此时不涂对答案也没影响,如果我们前面已经涂了,那么再涂这个也无妨,因为涂的越多肯定越好,比如有

BBB

mid mid-1 mid

那我们如果不涂第二个的话,我们就至少需要两次才能满足,但是涂了第二个一次就能连续涂完

否则我们必须涂

② s[i] = R

如果我们还没开始涂,那么直接跳过即可

否则,如果a[i] > mid,我们就不能涂,因为此时答案就不为mid了,否则直接涂就行,理由同上,多涂更好

代码:

//#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 ll long long
//#define yes cout << "YES" << endl
//#define no cout << "NO" << endl
//
//void solve()
//{
//    int n, k;
//    cin >> n >> k;
//    string s;
//    cin >> s;
//    vector<int> a(n);
//    for (int i = 0; i < n; i++)
//    {
//        cin >> a[i];
//    }
//    int l = 0, r = 1e9+1;
//    auto check = [&](int mid) -> bool
//        {
//            int cnt = 0;
//            for (int i = 0; i < n; i++)
//            {
//                if (a[i] > mid && s[i] !='R')
//                {
//                    int j = i + 1;
//                    while (j < n && (s[j] == 'B' || a[j] <= mid))
//                    {
//                        j++;
//                    }
//                    i = j - 1;
//                    cnt++;
//                }
//            }
//            return cnt <= k;
//        };
//    while (l < r)
//    {
//        int mid = (l+r) / 2;
//        if (check(mid))
//        {
//            r = mid;
//        }
//        else
//        {
//            l = mid+1;
//        }
//    }
//    cout << r << endl;
//}
//
//int main()
//{
//    cin.tie(0)->sync_with_stdio(false);
//    int t = 1;
//    cin >> t;
//    while (t--)
//    {
//        solve();
//    }
//    return 0;
//}

D. Tree Jumps

思路:

首先要理解题意,我们只能从 当前节点 跳至 非自身子节点 的 节点

那我们可以反过来考虑,对于任意一个节点,有多少方式跳过来

我们可以分层考虑

对于根节点(第一层)只有一种

对于第二层也是只有一种,因为有且只能从根节点跳过来(题目中的特例)

对于第三层的节点,任意一个节点的跳法有 node[i].val = sum[2] - node[node[i].father].val 种

其中sum[i]为第i层所有节点的跳法总和,node[i].val为节点i的跳法

同理,对于第n层也是这样

那么最后的答案就为每层sum之和

(这里要注意大数取模)

代码:

//#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;
//
//const int MOD = 998244353;
//
//struct Z {
//    long long val;
//    Z(long long v = 0) : val(v% MOD) {
//        if (val < 0) val += MOD;
//    }
//    Z& operator+=(const Z& other) {
//        val = (val + other.val) % MOD;
//        return *this;
//    }
//    Z& operator-=(const Z& other) {
//        val = (val - other.val + MOD) % MOD;
//        return *this;
//    }
//    Z& operator*=(const Z& other) {
//        val = (val * other.val) % MOD;
//        return *this;
//    }
//    friend Z operator+(Z a, const Z& b) { return a += b; }
//    friend Z operator-(Z a, const Z& b) { return a -= b; }
//    friend Z operator*(Z a, const Z& b) { return a *= b; }
//    friend ostream& operator<<(ostream& os, const Z& z) {
//        return os << z.val;
//    }
//};
//
//struct MyStruct
//{
//    int father = -1;
//    int dep = 1;
//    Z val = 0; // 修改为Z类型
//    int self = 1;
//};
//
//void solve()
//{
//    int n;
//    cin >> n;
//    vector<MyStruct> node(n + 1);
//    int maxdep = 0;
//    node[1].val = 1; // 隐式转换为Z
//    for (int i = 2; i <= n; i++)
//    {
//        cin >> node[i].father;
//        node[i].dep = node[node[i].father].dep + 1;
//        node[i].self = i;
//        maxdep = max(maxdep, node[i].dep);
//    }
//    vector<vector<MyStruct>> depnode(maxdep + 1);
//    vector<Z> depSum(maxdep + 1, 0); // 改为vector<Z>
//    for (int i = 1; i <= n; i++)
//    {
//        depnode[node[i].dep].push_back(node[i]);
//    }
//    depSum[1] = 1;
//    for (int i = 2; i <= maxdep; i++)
//    {
//        for (size_t j = 0; j < depnode[i].size(); j++)
//        {
//            if (i == 2)
//                node[depnode[i][j].self].val = 1;
//            else
//                node[depnode[i][j].self].val = depSum[i - 1] - node[depnode[i][j].father].val;
//            depSum[i] += node[depnode[i][j].self].val;
//        }
//    }
//    Z ans = 0; // 改为Z类型
//    for (int i = 1; i <= maxdep; i++)
//    {
//        ans += depSum[i];
//    }
//    cout << ans << endl;
//}
//
//int main()
//{
//    cin.tie(0)->sync_with_stdio(false);
//    int t = 1;
//    cin >> t;
//    while (t--)
//    {
//        solve();
//    }
//    return 0;
//}

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

相关文章:

  • 旅游网站建设前的市场分析顺义区做网站的公司
  • 软件园专业做网站网站开发维护专员岗位职责
  • 网站建设 seog2g有哪些网站
  • 深圳建设门户网站慈溪网站建设报价
  • 网站模板站的模板展示怎么做的网站开发的公司排名
  • 网站建设服务是什么意思网站内容与标题的区别
  • 机器人软件开发平台郑州seo招聘
  • 网站建设买了服务器后怎么做东莞市阳光网首页
  • 自己做网站前期困难吗wordpress对接微信登录
  • xsl做书店网站广州建设工程招标信息网
  • 怎么在国外网站买东西企业管理培训课程价格
  • 适合新手的网站开发wordpress 有什么用
  • 个人网站的建设目标通辽网站制作公司
  • 导航网站头部代码中国十大企业
  • 青岛网站建设官网wordpress返回顶部代码
  • 什么是软文推广seo公司推广宣传
  • 网站被别人域名绑定呼市浩特网站建设外包公司
  • 网站需要写哪些内容wordpress导航页面设置
  • 洛江区住房和城乡建设局网站网站建设与管理考察报告
  • 哪里有免费的网站推广软件啊建设注册证信息网站
  • 重庆网站建设公司的网站个人注册域名可以做网站么
  • 中国化学第九建设公司网站网站开发服务属于什么行业
  • 网站制度建设模板鄂州网签查询
  • 餐饮设计网站建设江西建设推广网站
  • 一加手机官网网站山东省建设厅网站是
  • 江苏省建设工程竣工验收网站wordpress删除仪表盘
  • 百家号淄博圻谷网站建设每月网站开发费用
  • django 网站开发教程图片 展示 网站模板
  • 最超值的手机网站建设wordpress自动生成网站地图
  • 南京网站制作有限公司咋做网站