首页 > 其他分享 >每日"两"题 题解

每日"两"题 题解

时间:2024-03-13 19:56:06浏览次数:27  
标签:题解 每日 mid tot second qwq first

每日“二”题

十年OI一场空,不开longlong见祖宗

目录

A

题解:

最值问题,一个条件在变,考虑使用二分:
我们每次查找一个可切的最大巧克力,二分判断能不能这么切即可。

C++代码
void solve() {
    int n, k, l = 1, r = 0, ans;
    cin >> n >> k;
    vector<pair<int, int>>qwq(n);
    for(auto &x : qwq) {
        cin >> x.first >> x.second;
        int mx = max(x.first, x.second);
        r = max(mx, r); //确定一个二分最大值,这里其实也可以给一个很大的值减少代码量
    }
    while(l <= r) { //二分答案
        int mid = l + r >> 1;
        //check() 按一般背的板子来是写一个 check() 我这里为了方便直接写这里面了
        int tot = 0;
        for(auto x : qwq)tot += (x.first / mid) * (x.second / mid);
        if(tot < k)r = mid - 1;
        //check()截止
        else l = mid + 1;
    }
    cout << r;
}

B

题解:

我们创建一个前缀和数组,接着看一下里面同余的有几个数即可
(为什么同余就说明有倍数呢?这是因为:
如果两数之间和不为k倍数,则余数一定不同,容易可得自行证明吧XD

C++代码
void solve() {
    ll n, k, i, j,ans=0;
    cin >> n >> k;
    vector<ll>qwq(n + 1); //前缀和数组
    vector<ll>qaq(k + 1); //等效哈希表->map
    for(i = 1;i <= n;++i) {
        cin >> qwq[i];
        //qwq[i] %= k; 这个并不重要,可以省略
        qwq[i] += qwq[i - 1]; //前缀和,解题关键1
    }
    // 试了下暴力,并不能过
    for(i = 0;i <= n;++i)ans += qaq[qwq[i] % k]++; //同余,解题关键2
    cout << ans;
}

标签:题解,每日,mid,tot,second,qwq,first
From: https://www.cnblogs.com/Allergy/p/18071394

相关文章

  • 每日一看大模型新闻(2024.1.11)2024属于小模型时代?TinyLlama 小模型发布后爆火:参数轻量
    1.产品发布1.1红旗品牌虚拟代言人上线“旗羿”和“旗妙”发布日期:2024.1.11一汽红旗携手腾讯混元大模型,提升服务体验主要内容:一汽红旗品牌近日推出了微信小程序“旗羿旗妙说”,该小程序基于腾讯混元大模型提供智能底座,为一汽红旗进行了全面的知识升级。同时,腾讯QQ联合一汽......
  • AT_abc343_g [ABC343G] Compress Strings 题解
    题目传送门前置知识前缀函数与KMP算法|状压DP解法由于\(\sum\limits_{i=1}^{n}|S_{i}|\)极大且不需要记录路径,所以luoguP2322[HNOI2006]最短母串问题的枚举所有可能的字符串\(T\)进行判断不可做。设\(f_{i,j}\)表示当“字符串包含状态”对应的二进制数为\(......
  • abc134F题解
    abc134F题意:定义长度为\(n\)的排列的怪异值为\(\sum_{i=1}^{n}\midp_i-i\mid\),问长度为\(n\),怪异值为\(k\)的排列数。思路:非常妙的dp题。\(\midp_i-i\mid\)可以看成上下两层数,将上层中的\(i\)和下层中的\(j\)匹配,怪异值增加\(i\),\(j\)中较大值减较小值。整体思路为从小到......
  • ARC173A Neq Number 题解
    ARC173ANeqNumber题目大意正整数\(X\)如果满足以下条件,则称为"Neq数":当\(X\)用十进制符号书写时,没有两个相邻的字符是相同的。例如,\(1\)、\(173\)和\(9090\)是Neq数,而\(22\)和\(6335\)不是。给你一个正整数\(K(1\leqK\leq10^{12})\)。请找出第\(K\)小......
  • 每日一题 第一期 洛谷 铺地毯
    [NOIP2011提高组]铺地毯https://www.luogu.com.cn/problem/P1003题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n......
  • P1621 集合题解
    题目Caima给你了所有[a,b]范围内的整数。一开始每个整数都属于各自的集合。每次你需要选择两个属于不同集合的整数,如果这两个整数拥有大于等于p的公共质因数,那么把它们所在的集合合并。重复如上操作,直到没有可以合并的集合为止。现在Caima想知道,最后有多少个集合。输入输出......
  • Emgu.CV.Runtime.Windows nuget 安装失败问题解决方案
    一、错误现象我正在尝试从VisualStudio2015中安装emgu.CV.runtime.windows,并通过右键单击引用并通过NuGet安装的推荐方法进行安装。但是我收到以下错误。无法安装包“Emgu.runtime.windows.msvc.rt.x6419.28.29336”。您正在尝试将此包安装到面向.NETFramework,Versio......
  • 3月13每日打卡
    净现值计算的程序JAVAimportjava.util.Scanner;publicclassNPVCalculator{publicstaticvoidmain(String[]args){Scannerinput=newScanner(System.in);System.out.print("请输入投资项目的年限:");intyears=input.nextInt();......
  • ChatGPT提问技巧——问题解答提示
    ChatGPT提问技巧——问题解答提示问题解答提示是一种允许模型生成回答特定问题或任务的文本的技术。要做到这一点,需要向模型提供一个问题或任务作为输入,以及与该问题或任务相关的任何附加信息。一些提示示例及其公式如下:示例1:回答事实性问题任务:回答一个事实性问题说......
  • 今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 3月13日,星期三
    每天一分钟,知晓天下事!2024年3月13日星期三农历二月初四1、四部门:中小学每天安排30分钟大课间体育活动,缓解视力疲劳。2、我国视障人士首次使用无障碍格式文件完成结婚登记。3、数据显示:城乡居民医保的参保人数从2019年开始逐渐下降。4、福建:节假日期间,鼓励......