![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模拟
丶沙鸥
这个作者很懒,什么都没留下…
展开
-
C++手写list
C++手写list原创 2022-08-24 13:15:09 · 475 阅读 · 0 评论 -
C++手写vector
【代码】C++手写vector。原创 2022-08-23 11:15:21 · 691 阅读 · 0 评论 -
2018 ICPC 青岛站 F-Tournament zoj-4063
原题链接题意:n个骑士要进行m轮对决,每一轮每个骑士都要有一个对手。而且每个对手只能打一次。假设a与b打了,c与d打了,那么后面的任意一轮如果a与c打了,那么b就必须和d打,问是否存在方案,存在就输出字典序最小的一组,否则输出Impossible思路:构造,将骑士分成2幂次组,然后在组内循环,看到其他题解都只是说了用lowbit(n)来判断是否合法,但并没有说原因的,我在这里补充一下吧,lowbit取的是2进制最低位,减一得到的就是二进制最右端的连续0转化成1,正好对应了2幂次分组的幂次和。最容易原创 2021-10-07 17:05:56 · 312 阅读 · 0 评论 -
Codeforces Round #541 (Div. 2) 1131D. Gourmet choice 头铁大模拟(std拓扑排序+并查集
原题链接题意:有个厨师吃了2天,每天吃m道菜,然后给每道菜打分,给出一个n*m的字符矩阵,s[i][j]表示第一天的第i道菜和第二天的第j道菜的评分的大小关系,求这两天吃的菜的评分。思路:按>和=数量排序,先给最大的赋值1e4,每次取两个字符串对比,讨论一下各种组合情况,判掉不合法情况,求出第一天的评分,再根据每一列的符号求出第二天的评分。这时候求出来的只是相对大小,还要把所有的值在数轴上往左移,把最小的数移到1就可以了,细节比较多,很锻炼码力。改到wa9的时候搜了一下题解,看到tag是拓扑原创 2021-09-10 10:53:09 · 140 阅读 · 0 评论