• SWJTU_LightMoon Training #16~20 补题


    SWJTU_LightMoon Training #16

    B dp+贪心

    C 计算几何

    F 计算几何

    G cdq分治或者树状数组 考虑容斥,ans=总对数 - 不满足条件的对数,需要观察发现不满足偏序性质的这一对,一定是在某两个排列里位置是相同的,只有一个和他们的位置不相同,所以可以对每两个排列求一次不满足题意的偏序对的个数,这样相当于某个不满足偏序的对会被计算两次,所以除以2就可以了,两个排列不满足偏序的对的问题可以转化成按第一个序列排序,第二序列的逆序对的个数问题,树状数组维护即可

    WQF的代码

    H 计算几何

    K 暴力 题意是选三类食物组合,每个食物有很多种配方,每个配方有很多个牌子,有些食物不能同时选,然后选中的食物有相同的配方就要用相同的牌子,其实就是set去重,求最后组数

    WQF代码

    SWJTU_LightMoon Training #17

    B 并查集

    题意比较难读懂,给你一个图G,n(500)个点m(10000)条边 ,然后又一棵点数为m的树T,根为1,树T的每个点对应为图的每条边
    我们有q(50000)个询问 ,对于第i个询问,我们会给你一个点数为ki的集合Si ,让你对于G'=(n个点,特定边集E)内有多少个联通块。
    对于我们给定的集合Si ,其所有点,以及所有点的所有祖先,都在这个集合中。 观察到n*m不大,所以可以开m个并查集,每个并查集维护的是这个点到根的并查集结果,这个可以dfs完成,复杂度为((n*m*logn)),对于每次查询,直接把取出所有点的并查集结果做合并就好了,复杂度为(O(n*k*log))
    要记住connected components为连通分量的意思。
    WQF的代码

    D 74 / 311 离散化+dfs

    G 1 / 31 极角排序+dp

    I 4 / 21 线段树+二分

    J 7 / 139 线性规划

    K 1 / 14 贪心+背包

    SWJTU_LightMoon Training #18

    C 差不多暴力就行了

    [Megumin的代码] (代码什么的,当然是不存在的呀)

    D 极角排序

    E 因为A满足两个及以上元素的异或和不为0,那么可以存在一个数等于0,然后暴力求解即可

    [Megumin的代码] (代码什么的,当然是不存在的呀)

    F 计算几何

    G 数据结构+最短路

    I 拓扑排序 建边之后跑拓扑排序

    WQF的代码

    SWJTU_LightMoon Training #19

    A dp 18

    C 24

    F 0

    H 网络流 2

    I 法一:floyd 记录路径 法二:有向图,枚举点,将点拆开作为起点和终点,然后跑最短路

    WQF的代码1 WQF的代码2

    K 二分+贪心

    [Megumin的代码] (代码什么的,当然是不存在的呀)

    SWJTU_LightMoon Training #20

    A 数学

    B 树剖+二分 9

    E 数学 4

    F 规律 暴力 92

    H DLX爆搜 20

    I 计算几何 1

  • 相关阅读:
    简单有效 四招教你保护好WiFi网络安全
    WP8手机安装《神庙逃亡》的教程
    如何关闭iOS7中的iPhone广告跟踪系统
    如何隐藏任务栏图标
    MVC中Controller和Action讲解上篇
    node.js
    express
    node.js+socket.io安装
    自定义view文字垂直居中
    AndroidTouch事件总结
  • 原文地址:https://www.cnblogs.com/ACGO/p/7636209.html
Copyright © 2020-2023  润新知