A .Assigning Workstations 题意:给定N个人的工作时间和工作时长,我们可以假设有无数台工作机器,如果一台机器超过M时间未使用就会关闭,那么我们怎么安排机器的使用,使得需要开启机器的次数最少. 思路:贪心,维护一个时间队列q,维护一个单调队列q1: 前者表示没有使用了但还没关闭的机器队列,后者表示还在使用的机器.   那么我们每次把已经使用完的加入q,如果关闭了或者被新的人使用了就移除. 使用的新机器加入q1.... #include<bits/stdc++.h> #de…
-------------------题目难度较难,但挺有营养的.慢慢补. A .ASCII Addition pro:用一定的形式表示1到9,让你计算加法. sol:模拟. solved by fzl; #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace std; ; typedef long long ll; ] = { "xxxxxx...xx...xx...xx…
(由于先看的最后一题,然后又一直WA,导致这场有点爆炸,我背锅. A .Fancy Antiques 题意: 选择最多k个商店,买n个物品,每个物品分别对应两个店售卖,求最小花费是多少.n<100,k=m<=40; 思路:搜索....开始以为是个费用流,然后没法限制.加N多减枝,然后.... B. 好像没什么可以学的,懒得看了 C .Greetings! pro:N种卡片,用K种格子去装.问浪费的空间.N,K<15 sol:比较小,状态压缩. #include<bits/stdc+…
2015-2016 Northwestern European Regional Contest (NWERC 2015) F H没做 似乎只有 B 题有点意思 D:数论分块枚举所有上取整区间,只需要对于所有下取整的区间,取在右端点处的上取整的值即可.这些值是所有上取整区间的左端点. B 题意:有 n 个区间,分成 p 组,每组的权值是所有区间交的长度,交不能是 0 .求权值和最大.保证有解. \(n,p \le 200\) key:思路,dp 对于每一组,限制区间交的长度的区间至多是 2 个(…
-----------------------前面的两场感觉质量不高,就没写题解----------------------------- A .Around the Track pro:给定内多边形A和外多边形B,求最短路径,蛮子路径再A之外,B之内. sol:如果没有B,就是求凸包,有了B,我们在做凸包的时候,有形如“a-b-c,b在内部,删去b,连接a-c的操作”,如果a-c和B不相交,直接删去b,否则用B的凸包代替b处. #include <bits/stdc++.h> using n…
版权声明:未经本人允许,擅自转载,一旦发现将严肃处理,情节严重者,将追究法律责任! 序:代码部分待更[因为在家写博客,代码保存在机房] 测试分数:110 本应分数:160 改完分数:200 T1: 题解:推出了一个初始式子但是n的4分之3次方 忘了合并[实际上是没发现]本来应有60分的,但是忘记开long long 只有30分 因为一些公式不好写出来就直接截图题解吧! T2: 题解:很简单的概率期望,算出每个点被选的概率,然后在上树状数组或者线段树求逆序队,但是我只有80分,为什么解法不行?NO…
题目描述 “别人总说我瓜,其实我一点也不瓜,大多数时候我都机智的一批“现在是阳历2018/8/7,宝儿姐想起自己参加ACM整整1000天了.她想知道她刚入坑是什么时间.那么问题来了,请帮宝儿姐追忆一下某个时间之前n天是什么时间吧. 输入 多实例输入以EOF结束每行四个数字year month day n用空格隔分别代表 当前年月日,以及查询天数. 输出 输出一个日期,年月日用空格隔开. 样例输入 2018 08 07 1 2018 08 07 8 2018 08 07 1000 样例输出 201…
题目描述: 点击打开链接 这题题意其实很不好理解,你有一个n行的程序,现在程序运行了r时间之后停止了运行,证明此处有一个bug,现在你需要在程序中加printf来调试找到bug所在的位置,你每次加一个printf所需的时间为p,为你在最坏的情况下最少需要多少时间找到bug. 枚举二分三分四分一直到n-1 查询一般二分查找,这个因为有个printf条件可以实现精准3分到n-1分查找,  因为三分的话也可以像二分一样确定到底是哪个  就像1000范围内猜数 如果三分能确定的话就不会用二分 但是三分并…
T1: 题目大意: 给你一个立方体,每个面上有些数字,给你一个数字K,你可以玩K轮游戏, 每轮你会将每个面上的数均分为4份,分给相邻的面,求K轮游戏后,上面的数字是 依次给你前.后.上.下.左.右的起始数字大小! 题解:因为轮数最大只有45,所以直接暴力模拟即可,但是可能是数据水,在通分的时候不会爆炸,也可能是我太垃圾不会算最坏情况! 总之非高精度可以A T2: 题目大意: 给你一串由小写字母组成的字符串,希望你把它划分成一些小段,使得每一小段字符串 中的字母都不相同,并且希望分的段数尽量少.…
版权声明:未经本人允许,擅自转载,一旦发现将严肃处理,情节严重者,将追究法律责任! 序:代码部分待更[因为在家写博客,代码保存在机房] T1: 题解:插头dp应该很好想吧,我们考虑当出现转折时我们对下一行是没有影响的,于是对于每一行只需要维护3个变量表示3个竖直部分的所在列即可 细节详见代码: T2: 题解:我们发现对于每一对i,j对于答案的贡献只有当他们靠在一块的的时候才会计算,于是题目得到化简,只需计算他们靠在一起的概率,在乘以权值! 概率我们可以通过dp转移到: dp[i][j]+=dp[…