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++ Const指针学习
  2. 问题:# mount –t ntfs /dev/sdb1 /mnt/ 解决办法
  3. Dubbo负载均衡配置
  4. 毕啸南专栏 | 对话澜亭资本创始人刘炯:2018 AI创投领域如何“去伪存真”
  5. linux改用户密码chpasswd,Linux chpasswd (批量或单一修改用户密码)和passwd(直接修改用户密码)...
  6. manifest.json文件的 “name” “description” “version 字段解释
  7. Java Web学习视频
  8. 【广工考试笔记】计算机系统结构考试速成笔记
  9. NLPIR中文分词器的使用
  10. 苹果iPad air技巧教程:50个实用小技巧
  11. java根据年份计算生肖
  12. ChatGPT 会开源吗?
  13. mysql grant priv_mysql怎么将grant priv的权限
  14. 基于C++实现(控制台+界面)通讯录管理系统【100010012】
  15. 计算机用户密码在哪里设置,电脑开机密码在哪里设置?怎么设置?
  16. 利用Python程序实现图片颜值打分
  17. HTTPSConnectionPool(host=‘finance.yahoo.com‘, port=443解决方案
  18. c++类与对象(多文件编程!)(编写一个有关股票的程序,其中有两个类:一个是深圳类shen_stock,另一个是上海类shang_stock。)
  19. C++最精准的RGB-HSB(HSV)-HSL的色值转换
  20. 国网GIM设备三维模型要求细则 - 交流断路器

热门文章

  1. LeetCode_349. 两个数组的交集
  2. 白话Elasticsearch50-深入聚合数据分析之doc values机制
  3. 数据结构-单循环链表(C语言代码)
  4. Halcon知识:如何用mfc显示halcon读入图象
  5. echart 实例显示位置_技术分享:如何在Unity中使用实例化渲染?
  6. class view里面的目录项_Eclipse里面出现一排open a terminal,怎么把消除它???
  7. python 爬虫提取王者荣耀英雄皮肤
  8. 超市管理系统java swing+mysql报告_基于java+swing+mysql的超市管理系统
  9. mysql同步row模式_ROW模式的SQL无法正常同步的问题总结
  10. python with open as yaml_python怎么解析yaml文件?