Gym - 101466 & 队内训练#1 题解】的更多相关文章

-----------------------前面的两场感觉质量不高,就没写题解----------------------------- 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…
-------------------题目难度较难,但挺有营养的.慢慢补. 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+…
A .Assigning Workstations 题意:给定N个人的工作时间和工作时长,我们可以假设有无数台工作机器,如果一台机器超过M时间未使用就会关闭,那么我们怎么安排机器的使用,使得需要开启机器的次数最少. 思路:贪心,维护一个时间队列q,维护一个单调队列q1: 前者表示没有使用了但还没关闭的机器队列,后者表示还在使用的机器.   那么我们每次把已经使用完的加入q,如果关闭了或者被新的人使用了就移除. 使用的新机器加入q1.... #include<bits/stdc++.h> #de…
版权声明:未经本人允许,擅自转载,一旦发现将严肃处理,情节严重者,将追究法律责任! 序:代码部分待更[因为在家写博客,代码保存在机房] 测试分数:110 本应分数:160 改完分数:200 T1: 题解:推出了一个初始式子但是n的4分之3次方 忘了合并[实际上是没发现]本来应有60分的,但是忘记开long long 只有30分 因为一些公式不好写出来就直接截图题解吧! T2: 题解:很简单的概率期望,算出每个点被选的概率,然后在上树状数组或者线段树求逆序队,但是我只有80分,为什么解法不行?NO…
题目链接 :点击此处 ## Problem A 题意: 给你n个数,重定义两个数之间的加法不进位,求这些数中两个数相加的最大值和最小值. 题解: 字典树.我们首先将前i-1为放入字典树中,然后在查询第i位时,我们去字典树中查询,对每一位进行寻找,找到满足题意的当前位的最大值和最小值,然后继续更新下一位,最后维护总的最大值和最小值即可. C++版本一 #include <set> #include <map> #include <queue> #include <s…
A: Decimal Time Limit: 1 Sec   Memory Limit: 128 MB Submit: 99   Solved: 10 [ Submit][ Status][ Web Board] Description 任意一个分数都是有理数,对于任意一个有限小数,我们都可以表示成一个无限循环小数的形式(在其末尾添加0),对于任意一个无限循环小数都可以转化成一个分数.现在你的任务就是将任意一个无限循环小数转化成既约分数形式.所谓既约分数表示,分子和分母的最大公约数是1. Inp…
T1: 题目大意: 给你一个立方体,每个面上有些数字,给你一个数字K,你可以玩K轮游戏, 每轮你会将每个面上的数均分为4份,分给相邻的面,求K轮游戏后,上面的数字是 依次给你前.后.上.下.左.右的起始数字大小! 题解:因为轮数最大只有45,所以直接暴力模拟即可,但是可能是数据水,在通分的时候不会爆炸,也可能是我太垃圾不会算最坏情况! 总之非高精度可以A T2: 题目大意: 给你一串由小写字母组成的字符串,希望你把它划分成一些小段,使得每一小段字符串 中的字母都不相同,并且希望分的段数尽量少.…
版权声明:未经本人允许,擅自转载,一旦发现将严肃处理,情节严重者,将追究法律责任! 序:代码部分待更[因为在家写博客,代码保存在机房] T1: 题解:插头dp应该很好想吧,我们考虑当出现转折时我们对下一行是没有影响的,于是对于每一行只需要维护3个变量表示3个竖直部分的所在列即可 细节详见代码: T2: 题解:我们发现对于每一对i,j对于答案的贡献只有当他们靠在一块的的时候才会计算,于是题目得到化简,只需计算他们靠在一起的概率,在乘以权值! 概率我们可以通过dp转移到: dp[i][j]+=dp[…
A题 题意:让你找出唯一的一个四位数,满足对话时的要求. 思路:因为是4位数,可以直接从1000-9999遍历一遍,判断是否有唯一的数能满足所有条件,如果不是唯一的或者没有满足条件的数就输出Not sure.特别丑的代码附上... #include<stdio.h> ],b[],c[]; int main() { int n; while(~scanf("%d",&n)) { )break; ,ans,j,k; ;i<=n;i++) scanf("%…