摘要:
用STL提供的优先队列好了 priority_queue<int>q; //大根堆,堆顶是最大的 priority_queue<int,vector<int>,greater<int> >q; //小根堆,堆顶是最小的 用于找最值 可以找中位数,一个大根堆一个小根堆,始终维护两堆size之差为1 阅读全文
摘要:
题面 https://codeforces.com/contest/1472/problem/D Alice和Bob都有积分,可以只考虑差值 当A拿到偶数x,总分加x,否则加0;当B拿到奇数x,总分减x,否则减0 对Alice而言,如果当前最大的一个数为x,x有两种情况 偶数,拿+x,不拿+0 -- 阅读全文
摘要:
做题过程 一、正常做 二、没思路找大板块: dp 贪心 图论 调到死才发现 多测不清空,多测输出无回车空格 STL的size()函数返回值类型是unsigned int,如果两者做差可能为负数记得强制类型转换成int,否则(unsigned int)-1 > (int)1 /(ㄒoㄒ)/~~ 阅读全文
摘要:
题目 https://codeforces.com/contest/1348/problem/B 正常来讲,会按照k的长度滑动,新加入的数如果不等于出去的数就需要添加一个新数,这是最短的,但是比较麻烦(其实是不会),首先要保证最初的k个数包含所有种类的数,如4 1 1 2(k=3)就需要在在最初的第 阅读全文
摘要:
参考 https://www.cnblogs.com/wzw0625/p/12742605.html 丑数的因子只有2,3,5,特别的:1也是丑数 容易想到用已有的丑数推算之后的丑数,但是如何找最小的新丑数? 下一个丑数一定由已有的某个丑数乘以2或3或5得到(乘一次就够,因为算是递推来的吧),每个数 阅读全文
摘要:
C c语言中声明语句前置。 c中没有 和 cin、cout c不需要using namespace std; C++ //一些头文件 #include <algorithm> \(1Byte\)(字节)8位,\(int\) 4 \(Byte,double\) 8 \(Byte.\) 二进制表示 32 阅读全文