首页 > 其他分享 >《看了受制了》第十九天,7道题,合计84道题

《看了受制了》第十九天,7道题,合计84道题

时间:2023-09-17 22:55:06浏览次数:38  
标签:道题 int res ll long 受制 include 84 Mod

2023年9月17日

今天晚上打了牛客的周赛。题目不是很难的题目,哎,最后一题是位运算,不会啊。。。异或和。。
今晚还发现了一个up主,同是21级,大二摘金,我大二哎。每次都会感到世界的层次,认识到自己的弱小。。。而且也发现自己的一些观念上的错误。

牛客周赛12 小美种树

题目理解

这个题和之前蓝桥杯那个期末作业是一个道理。

代码实现

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>

using namespace std;
typedef long long ll;

int main()
{
    
    ll x, y, z;
    cin >> x >> y >> z;
    
    ll week = (z / (3 * x + y));
    
    z -= week * (3 * x + y);
    
    if(z == 0)
        cout << week * 3;
    else{
        
        int day = 0;
        int k = 0;
        while(z > 0)
        {
            if(k == 0)
                z -= x + y;
            else
                z -= x;
            day++;
            k++;
        }
        cout << week * 3 + day;
    }
    
    return 0;
}

牛客周赛12 小美的子序列

题目理解

这个题就是遍历每个序列看能不能找到某个字母,但一定是顺序的。每次找到一个就让标签往后移一个,最后如果是7那么就一定找到了。

代码实现

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>

using namespace std;
typedef long long ll;

int main()
{
    
    int n, m;
    cin >> n >> m;
    
    string st = "meituan";
    int k = 0;
    
    for(int i = 0; i < n; i++)
    {
        
        string b;
        cin >> b;
        for(int j = 0 ; j < m; j++)
        {
            if(b[j] == st[k] && k < 7)
            {
                k++;
                break;
            }
        }
        
    }
    
    if(k == 7)
        cout << "YES";
    else
        cout << "NO";
    
    return 0;
}

牛客周赛12 小美的游戏

题目理解

先排个序,然后倒着乘,就是最大的。

代码实现

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>

using namespace std;
typedef long long ll;

const int N = 1e5 + 10, Mod = 1e9 + 7;
int n, k;

ll a[N];

int main()
{
    
    cin >> n >> k;
    
    for(int i = 1; i <= n; i++)
        cin >> a[i];
    
    sort(a + 1, a + 1 + n);
    
    for(int j = n, i = k; i >= 1; i--, j--)
    {
        a[j - 1] = (a[j] * a[j - 1]) % Mod;
        a[j] = 1;
    }
    
    ll res = 0;
    for(int i = 1; i <= n; i++)
        res = (res + a[i]) % Mod;
    
    cout << res;
    
    return 0;
}

牛客小白周赛3 游游的七倍数

题目理解

乘10之后,向上取整除7,再乘7即可。

代码实现

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;

ll n, m;

int main()
{
    cin >> n;
    
    n = n * 10;
    
    ll t = ceil(1.0 * n / 7);
    
    cout << t * 7;
    return 0;
}

牛客周赛3 游游的字母串

题目理解

枚举,全变成每一个字母的成本。成本取min(abs(j - (int)s[i]), 26 - abs(j - (int)s[i])),因为是一个循环所以从az有两种情况,第一种是25步,第二种是26 - 25步。取小的即可

代码实现

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;

string s;
const int N = 30;

int a[N];


int main()
{
    cin >> s;
    
    
    for(int i = 0 ; i < s.size(); i++)
    {
        for(int j = 97; j <= 97 + 25; j++)
        {
            int t = abs(j - (int)s[i]);
            
            a[j - 96] += min(26 - t, t);
        }
    }
    
    int res = a[1];
    for(int i = 1; i <= 26; i++)
        res = min(res, a[i]);
    
    cout << res;
    return 0;
}

牛客周赛3 游游的水果大礼包

题目理解

枚举第一个礼包,然后求第二个礼包。枚举每一个答案即可。

代码实现

#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long ll;


int main()
{
    ll n, m, a, b;
    cin >> n >> m >> a >> b;
    ll res = 0;

    // 一号礼包
    for(int i = 0 ; i * 2 <= n && i <= m; i++)
    {
        // 二号礼包
        int j = min(n - 2 * i, (m - i) / 2);
        
        res = max(res, i * a + j * b);
       
    }

    cout << res;
    return 0;
}

牛客周赛3 游游的矩阵权值

题目理解

可以得出以下规律:

  • 四个角会被计算2
  • 四个边上除四个角以外的块,会被计算3次。
  • 其他块都是4

随后便可用等差求和公式得出结果。这个题目中,还学到了大佬的很多模板!!!很牛逼!

代码实现

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;

typedef long long ll;

const int Mod = 1e9 + 7;

ll n;

ll qmi(ll a, ll b)
{
    ll res = 1;
    while(b)
    {
        if(b & 1) res = res * a % Mod;
        a = a * a % Mod;
        b >>= 1;
    }
    return res;
}

ll inv(ll x){ return qmi(x, Mod - 2);}

ll mo(ll x){ return (x % Mod + Mod) % Mod;}

ll sum(ll l, ll r)
{ 
    return (l + r) % Mod * mo(r - l + 1) % Mod * inv(2) % Mod;
}

int main()
{
    
    cin >> n;
    ll res = 0;
    
    res = 2 * sum(1, 4);
    res = mo(res + 3 * sum(5, 5 + 4 * (n - 2) - 1));
    res = mo(res + 4 * sum(5 + 4 * (n - 2), n * n));
    
    cout << res;
    return 0;
}

标签:道题,int,res,ll,long,受制,include,84,Mod
From: https://www.cnblogs.com/wxzcch/p/17710052.html

相关文章

  • 《看了受制了》第十八天,3道题,合计77道题
    2023年9月16日今天因为acwing题简单,第一次正式AKACWING5149简单计算题目理解真的很简单,就是循环代码实现#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intmain(){intT;cin>>T;while(T--){int......
  • vue--day84---路由的props配置
    ###7.路由的props配置 ​作用:让路由组件更方便的收到参数 ```js{name:'xiangqing',path:'detail/:id',component:Detail, //第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件//props:{a:900} //第二种写法:props值......
  • 《看了受制了》第十七天,4道题,合计74道题
    2023年9月15日小白月赛前三题,PAT一题。这个PAT,我怕是读题都有困难啊。中文都读半天。。。。。ACWIGN1494银行排队题目理解这个题目就是模拟。纯模,数字字符串来回转。代码实现#include<iostream>#include<cstdio>#include<algorithm>#include<vector>#include<queue>us......
  • 《看了受制了》第十六天,6道题,合计70道题
    2023年9月14日题目不难,但是有点恶心。今天写的这个是真受制ACWING1478签到签出题目理解这个就是要把时间都转化成秒,然后排序即可。代码实现#include<iostream>#include<cstring>#include<algorithm>usingnamespacestd;intn;pair<int,int>in[12],out[12];stri......
  • 关于异或运算的一道题
      和白球的数量无关,  黑球偶数个时,概率0%。   黑球奇数个时,概率100%。  设白球是0,黑球是1    0 0 ——> 0          1 1——> 0   0 1 ——> 1        ......
  • leetcode841钥匙和房间
    使用深度优先遍历构造的图,只要访问过就标记已访问intnum=0;vector<bool>vis;voiddfs(vector<vector<int>>&rooms,intx){vis[x]=true;num++;for(auto&v:rooms[x]){if(!vis[v])dfs(rooms,v);//说明这个房间没有进去过,所以可以访问}}intmai......
  • 自行车/儿童自行车/电动自行车欧盟美国做什么认证?认证标准是什么?UL 2849测试报告
    如果在亚马逊美国站上架成人自行车、儿童自行车、电动车等类目产品的卖家,会发现均需上传16CFR1512测试报告了,否则将会被亚马逊进行下架产品、罚款等。自行车自行车是一种受欢迎的交通工具和运动方式,可以满足人们日常出行和运动的需求。自行车通常由两个车轮、车架和脚踏组成,骑行......
  • 《看了受制了》第十三天,4道题,合计57道题
    2023年9月11日前面几天去建模,虽然感觉根本过不了。。。。。哎,我们继续回归受制了系列。最近也会总结知识。今天是第二次AK周赛。ACWING5148字符串匹配题目理解,本题是个贪心。题目一点是B串可以随意调整顺序,那就非常EZ了。我们只需要进行对A串B串做一个字符出现次数的统计先......
  • 2848.与车相交的点-362
    2848.与车相交的点给你一个下标从0开始的二维整数数组nums表示汽车停放在数轴上的坐标。对于任意下标i,nums[i]=[starti,endi],其中starti是第i辆车的起点,endi是第i辆车的终点。返回数轴上被车任意部分覆盖的整数点的数目。示例1:输入:nums=[[3,6],[1,5],[4......
  • 2849. 判断能否在给定时间到达单元格-362
    2849.判断能否在给定时间到达单元格给你四个整数sx、sy、fx、fy以及一个非负整数t。在一个无限的二维网格中,你从单元格(sx,sy)开始出发。每一秒,你必须移动到任一与之前所处单元格相邻的单元格中。如果你能在恰好t秒后到达单元格(fx,fy),返回true;否则,返回......