A过水,不讲

题解 CF1077B 【Disturbed People】

  • 这题就是个显而易见的贪心可是我考场上差点没想出来
  • 显然把一户被打扰的人家的右边人家的灯关掉肯定比把左边的灯关掉
  • 从左到右扫一遍,每次如果遇到一户被打扰的人家就ans++,然后把它右边的灯关掉
  • 然后就做完了
# include <bits/stdc++.h>int a[101];int main()
{int n;int ans = 0;scanf("%d", &n);for(int i = 1; i <= n; i++)scanf("%d", &a[i]);for(int i = 2; i <= n - 1; i++){if (a[i] == 0 && a[i - 1] == 1 && a[i + 1] == 1)ans++, a[i + 1] = 0;//关右边的灯}printf("%d\n", ans);return 0;
} 

题解 CF1077C 【Good Array】

  • 个人觉得这题比B还水
  • 先排下序,扫一遍\(1-n\)
  • 对于每个数\(i\),如果\(i \neq n\),则当\(\sum_{j=1}^na[j]-a[i]=2*a[n]\)时满足条件
  • 不然要是\(i = n\)的话,当\((\sum_{j=1}^na[j])-a[n]=2*a[n-1]\)时满足条件
  • 判断一下就好了
# include <bits/stdc++.h># define ll long longstruct p
{int id;ll x;
};p a[200001];int cmp(p x, p y){return x.x < y.x;}std::vector<int> vec;int main()
{int n;ll sum = 0;scanf("%d", &n);for(int i = 1; i <= n; i++)scanf("%d", &a[i].x), a[i].id = i, sum += a[i].x;std::sort(a + 1, a + n + 1, cmp);for(int i = 1; i <= n; i++){if(i != n)//情况1{if(sum - a[n].x - a[i].x == a[n].x)vec.push_back(a[i].id);}else //情况2{if (sum - a[n - 1].x - a[i].x == a[n - 1].x)vec.push_back(a[i].id);}}if(vec.size()){printf("%d\n", vec.size());for(int i = 0; i < vec.size(); i++)printf("%d ", vec[i]);}else    printf("0");return 0;
}

题解 CF1077D 【Cutting Out】

  • 昨晚刚打的场,感触深刻啊
  • 昨天打的时候死命WA16结果才发现16是\(n=k\)的的点
  • \(rp--,rating-=inf\)

  • 好了说正事
  • 这道题我们可以枚举删除次数,发现满足单调性,果断二分
  • check扫一遍\(1-200000\),对于每个数i,每次将序列长度加上(i出现的次数/当前check的删除次数),如果序列长度\(\ge k\)就return true;否则return false;
  • 在二分时处理一下答案即可

  • 其实用不着queue,但已经STL依赖症了qwq

#include <bits/stdc++.h>int n, k;
int a[200010], ans[200010];
int s[200010];
std::queue<int> st;int check(int x)
{while(!st.empty())st.pop();for(int i = 1; i <= 200000; i++)for(int j = s[i] / x; j; j--)//能加的全部加进去st.push(i);if(st.size() >= k)//满足条件{for(int i = 1; i <= k; i++)ans[i] = st.front(), st.pop();return true;}return false;
}int main()
{scanf("%d%d", &n, &k);for (int i = 1; i <= n; i++)scanf("%d", &a[i]), s[a[i]]++;int l = 0, r = 200001;while (l < r)//二分{int mid = (l + r + 1) >> 1;if (check(mid))l = mid;elser = mid - 1;}for (int i = 1; i <= k; i++)printf("%d ", ans[i]);return 0;
}

转载于:https://www.cnblogs.com/little-sun0331/p/9973962.html

Codeforces Round #521 (Div.3)题解相关推荐

  1. Codeforces Round #514 (Div. 2)题解

    Codeforces Round #514 (Div. 2)题解 A 喵,直接模拟. B 枚举所有盖章时的,合法的,左上角的位置.能盖的话就盖一下.最后check一下图案是否相等即可 C 一轮一轮的扔 ...

  2. Codeforces Round #182 (Div. 1)题解【ABCD】

    Codeforces Round #182 (Div. 1)题解 A题:Yaroslav and Sequence1 题意: 给你\(2*n+1\)个元素,你每次可以进行无数种操作,每次操作必须选择其 ...

  3. 【算法题解】Codeforces Round #817 (Div. 4)题解

    文章目录 Codeforces Round #817 (Div. 4)题解 A. Spell Check B. Colourblindness C. Word Game D. Line E. Coun ...

  4. Codeforces Round #747 (Div. 2)题解

    Codeforces Round #747 (Div. 2)题解 (本博客将持续更新以后每场CF div2的题解,喜欢ACM.OI的小伙伴记得点个关注哟) 昨天夜晚刷网络流刷入迷了,渐渐就忘记了我还要 ...

  5. Codeforces Round #789 (Div. 2)题解

    Codeforces Round #789 (Div. 2)题解 A. Tokitsukaze and All Zero Sequence 原题链接 算法标签 贪心 排序 思路 情况一:数组存在零 → ...

  6. Codeforces Round #748 (Div. 3) 题解 完整A~G

    Codeforces Round #748 (Div. 3) 题解 A. Elections 题意 已知竞选中三个候选人的当前得票数 a , b , c a,b,c a,b,c,现在可以增加任何一个人 ...

  7. Codeforces Round #533 (Div. 2)题解

    link orz olinr AK Codeforces Round #533 (Div. 2) 中文水平和英文水平都太渣..翻译不准确见谅 T1.给定n<=1000个整数,你需要钦定一个值t, ...

  8. Codeforces Round #734 (Div. 3) 题解

    Hello大家好,今天给大家带来的是 Codeforces Round #734 (Div. 3) 的全题目讲解. 本文链接:https://www.lanqiao.cn/questions/2040 ...

  9. Codeforces Round #462 (Div. 2)题解

    Codeforces Round #462 (Div. 2) B题--我固执的认为1e18是18位数,导致被hack,花了20分钟才检查出这个错误,很僵硬 Codeforces 934C 题意 给定一 ...

最新文章

  1. c++纯虚函数在父类中调用的规避
  2. 自定义MyBatis
  3. Java 8中java.util.function包中的谓词和使用者接口
  4. 老生常谈–希望别再纠结了朋友
  5. Opencv与dlib联合进行人脸关键点检测与识别
  6. 任正非:华为鸿蒙将比安卓快 60%;小米已官方回应侵权偷图事件;博通正考虑收购软件公司,其中Tibco和赛门铁克为重点目标……...
  7. 建堆解决TopK问题
  8. 过滤内网IP—IPv4
  9. Spire PDF转WORD (高效不失真)
  10. 用js打开新窗口和关闭新窗口
  11. 计算机控制技术 温钢云,计算机控制课程设计――大纯时延一阶惯性环节温度控制系统.docx...
  12. CSS3 之 童年的纸飞机
  13. 口袋战争服务器维修,口袋战争最新版
  14. Linux系统(三) 系统基础
  15. 任正非:华为没有996更没有007,“狼性文化”其实是三个精神
  16. Unity3D热更设计:一款基于 HybridCLR的C#热更方案
  17. 学习OpenCV3 面阵相机标定方法
  18. 通过WIFI唤醒终端设备
  19. [CodeForces 332B]Maximum Absurdity[DP]
  20. 【操作系统笔记(四)】CPU管理的核心:多进程图像

热门文章

  1. 实战SSM_O2O商铺_05集成SSM后验证DAO层、Service层、Controller层的配置
  2. Oracle查询优化-01单表查询
  3. Linux - How to use LVM in Linux
  4. mysql 4 基础教程_MySQL基础教程(四):MySQL 管理
  5. element ui点击按钮弹出款_前端猿应该知道的十大最流行的前端UI框架
  6. hbuilder怎么做登录界面_hbuilder 第三方登录实例
  7. python filter函数 字符串_Python数组条件过滤filter函数使用示例
  8. pyqt5教程12:拖放功能
  9. php 设定字符串编码格式,php设置字符串编码格式
  10. 2021-10-27 PTA 数据结构 链表 两个有序链表序列的合并