Gym - 101147 & 队内自训#2 题解】的更多相关文章

-------------------题目难度较难,但挺有营养的.慢慢补. 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…
版权声明:未经本人允许,擅自转载,一旦发现将严肃处理,情节严重者,将追究法律责任! 序:代码部分待更[因为在家写博客,代码保存在机房] 测试分数:110 本应分数:160 改完分数:200 T1: 题解:推出了一个初始式子但是n的4分之3次方 忘了合并[实际上是没发现]本来应有60分的,但是忘记开long long 只有30分 因为一些公式不好写出来就直接截图题解吧! T2: 题解:很简单的概率期望,算出每个点被选的概率,然后在上树状数组或者线段树求逆序队,但是我只有80分,为什么解法不行?NO…
-----------------------前面的两场感觉质量不高,就没写题解----------------------------- 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…
T1: 题目大意: 给你一个立方体,每个面上有些数字,给你一个数字K,你可以玩K轮游戏, 每轮你会将每个面上的数均分为4份,分给相邻的面,求K轮游戏后,上面的数字是 依次给你前.后.上.下.左.右的起始数字大小! 题解:因为轮数最大只有45,所以直接暴力模拟即可,但是可能是数据水,在通分的时候不会爆炸,也可能是我太垃圾不会算最坏情况! 总之非高精度可以A T2: 题目大意: 给你一串由小写字母组成的字符串,希望你把它划分成一些小段,使得每一小段字符串 中的字母都不相同,并且希望分的段数尽量少.…
版权声明:未经本人允许,擅自转载,一旦发现将严肃处理,情节严重者,将追究法律责任! 序:代码部分待更[因为在家写博客,代码保存在机房] T1: 题解:插头dp应该很好想吧,我们考虑当出现转折时我们对下一行是没有影响的,于是对于每一行只需要维护3个变量表示3个竖直部分的所在列即可 细节详见代码: T2: 题解:我们发现对于每一对i,j对于答案的贡献只有当他们靠在一块的的时候才会计算,于是题目得到化简,只需计算他们靠在一起的概率,在乘以权值! 概率我们可以通过dp转移到: dp[i][j]+=dp[…
题意: 一个人从城市0开始旅行.一共有N座城市,他每到一座城市都会寄一张明信片.给出从一座城市到另一座城市的概率和在每座城市寄出每张明信片的概率.给出长度为k的寄明信片的序列.问在该序列的条件下在第Z个城市寄出第Q张明信片的序列. 题解: 条件概率:P(A|B) = P(A,B)/P(B) dp[i][j]代表第i个城市是城市j且寄出第a[i]张明信片的概率. dp[i][j] += sum{dp[i-1][k]*p[k][j]*c[j][a[i]}(0<=j<n) P(B) = sum{dp…
题意: 给出一颗有点权和边权的树.求每一个点u的子树中有多少点v,使得点v到点u的距离小于等于点v的权值. 题解: 对于每一个点,倍增的预处理出他的祖宗节点及距离.根据预处理的结果求出每个点能到的最远的祖宗节点. 设点u能到的最远祖宗节点为v.利用差分的思想在点tree[u]+1,点tree[v]-1. 最后每个点的答案就是子树的tree[]和. #include <bits/stdc++.h> using namespace std; typedef long long ll; ; int…
题意: 一个n*n的棋盘,有m个主教.每个主教都有自己的权值p.给出一个值C,在棋盘中找到一个最大点集.这个点集中的点在同一条对角线上且对于点集中任意两点(i,j),i和j之间的主教数(包括i,j)不小于pi^2+pj^2+C. 题解: 对角线有2个方向,每个方向有2*n-1条对角线.一共时4*n-2条.每个点都在2条对角线上. 对于在同一对角线上的点(i,j)若满足i-j+1>=pi^2+pj^2+C即-j-pj^2>=pi^2+C-i-1(i>j)即可. 那么将同一对角线上的点按x坐…
题意: 长和宽分别为M+N/2,N的矩形中.有很多敌人的点.有两种方法消灭敌人. 1.N个桶,第i个桶可以消灭i-1<=x<i中的敌人.2.M个摆(半圆)每个摆可以消灭距离他前面不超过1以内的敌人.第i个摆的圆心在(N/2,i-1),半径都为N/2. 问消灭所有敌人消耗的最少设备是多少. 题解: 根据题意可以发现,每一个敌人都可以被桶消灭,但不一定被摆消灭.摆的盲区在第1个摆的内部和第M个摆两边的死角位置. 所以出现在盲区的点必须被桶消灭.即那些桶是必选的. 其余的点把消灭他的桶号和消灭他的摆…
题意: 大矩形代表市场,大矩形当中有很多小矩形样式的伞.这些小矩形都贴着大矩形的左边或者右边且互不相交.小矩形以外的地方都是阳光.求经过大矩形时在阳光下的最短时间. 题解: 最短路的做法.起点和终点与每个矩形之间连边,每两个矩形之间也连边. 矩形之间两边有三种情况:1.两个矩形在同一边(k值相等)或两个矩形的宽度和大于(不能大于等于)大矩形的宽度 2.两个矩形的长度区间不相交(a[i].h+a[i].d<a[j].d||a[j].h+a[j].d<a[i].d) 3.长度区间相交 #inclu…