zoukankan      html  css  js  c++  java
  • Codeforces 989

    989 D

    题意

    若干个长度为 (l) 的区间以 (±1) 的速度在数轴上移动,(t=0) 时刻的位置为 (x_i) 。现在可以给每个区间速度增加 (w(|w|le w_{max}),w_{max}) 给出。若存在一个 (w) ,使区间 (i,j) 能同时覆盖原点(仅边缘覆盖的情况不算),则记为 ((i,j)) 。问所有 ((i,j)) 的个数。((1≤n≤10^5,1≤l,w_{max}≤10^8))

    Examples

    Input
    5 1 2
    -2 1
    2 1
    3 -1
    5 -1
    7 -1
    Output
    4
    Input
    4 10 1
    -20 1
    -10 -1
    0 1
    10 -1
    Output
    1

    转换参考系。假设每个区间的速度就为 (±1) ,原点的速度为 (-w) 。画出区间和原点的 (x-t) 图像(横轴为 (x) ,纵轴为 (t) ):

    然后,按 (x_i) 给区间排序,用二分或two_pointers即可解决。
    相向而行的区间 (i,j) 能同时覆盖原点的条件为:(|x[i]+x[j]+l|ge w*(x[j]-x[i]+l))

    989 E

    题意

    平面上有 (n) 个点,构成点集 (S) ,构成至多 (n^2) 条直线。在这些直线上选择一个点作为起点,并进行以下操作:

    1. 若当前所在点 (∉S) ,等概率随机选择该点所在直线上的一个点(这个点要 (in S) ),并传送到该点;
    2. 若当前所在点 (in S),在经过该点的所有直线中等概率随机选择一条,并等概率随机选择该直线上的一个点,并传送到该点。

    (Q) 个询问。每个询问有两个参数 (m,p) ,表示走 (m) 步到 (p) 点的概率是多少。((2≤n≤200,−10^4≤x_i,y_i≤10^4,(x_i,y_i)≠(x_j,y_j)(i≠j),1≤Q≤200))

    Examples

    Input
    5
    0 0
    1 3
    2 2
    3 1
    4 4
    10
    1 1
    2 1
    3 1
    4 1
    5 1
    3 2
    3 3
    3 4
    3 5
    3 6
    Output
    0.5000000000000000
    0.5000000000000000
    0.3333333333333333
    0.5000000000000000
    0.5000000000000000
    0.1851851851851851
    0.1522633744855967
    0.1449474165523548
    0.1433216481227455
    0.1429603662494990

    搞出一个类似倍增的东西。
    (dp[t][i][j]) 表示第 (2^t) 步从点 (i) 走到点 (j) 的概率是多少。
    转移:(dp[t][i][j]=sum_{k}dp[t-1][i][k]+dp[t-1][k][j])
    (dp[0][i][j]=sum_{i}frac{1}{num[l[i]]·cnt[i]}) ,其中 (num[l[i]]) 表示经过点 (i) 的直线 (l[i]) 上的 (in S) 的点有几个, (cnt[i]) 表示经过点 (i) 有几条直线。
    处理询问时,先把后 (m-1) 步处理掉,第 (1) 步由于起点可能 (∉S) ,所以需单独处理。
    时间复杂度(O(qn^2log n))

  • 相关阅读:
    Windows CMD中 find命令(字符串查找)
    网络地址转换静态NAT
    网络地址转换静态NAT
    Android 的暗示 hint 用法
    Android 的暗示 hint 用法
    SQL Server 扩展事件
    SQL Server 扩展事件
    SqlServer中Exists的使用
    SqlServer中Exists的使用
    数据库还原,System.Data.SqlClient.SqlError: 因为数据库正在使用,所以无法获得对数据库的独占访问权。
  • 原文地址:https://www.cnblogs.com/BlogOfchc1234567890/p/10322798.html
Copyright © 2011-2022 走看看