牛客编程巅峰赛S2第11场 - 钻石&王者T3大逃离题解

简单数学
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 
     * @param n int整型 
     * @param k int整型 
     * @param Point int整型vector 
     * @return int整型vector
     */
    typedef long long ll;
    ll mod = 1e9 + 7;
    pair<int, int> a[200010];
    vector<int> v;
    ll inv[200010], fact[200010];
    ll ans[200010];
    
    inline ll power(ll a, ll b) {
        ll res = 1;
        for (; b; b >>= 1ll) {
            if (b & 1ll)
                res = res * a % mod;
            a = a * a % mod;
        }
        return res;
    }
    
    inline ll C(ll a, ll b) {
        if (b == 0)
            return 1;
        return fact[a] * inv[b] % mod * inv[a - b] % mod;
    }
    
    vector<int> city(int n, int k, vector<int>& Point) {
        for (int i = 0; i < n; i++)
            a[i + 1] = { Point[i], i + 1 };
        sort(a + 1, a + n + 1);
        fact[0] = 1;
        for (int i = 1; i <= n; i++)
            fact[i] = fact[i - 1] * i % mod;
        inv[0] = 1;
        for (int i = 1; i <= n; i++)
            inv[i] = inv[i - 1] * power(i, mod - 2) % mod;
        for (int i = 1; i <= n; i++) {
            if (i < k)
                ans[a[i].second] = 0;
            else
                ans[a[i].second] = C(i - 1, k - 1) * fact[k] % mod * fact[n - k] % mod * inv[n] % mod;
        }
        for (int i = 1; i <= n; i++)
            v.push_back(ans[i]);
        return v;
    }
};

#牛客编程巅峰赛##题解#
全部评论

相关推荐

牛客ID:561366855:期望薪资多少?难以相信这简历找不到工作。说明二本电子信息专业想对口就业非常难。
点赞 评论 收藏
分享
阳光明媚的日子里:割韭菜去xhs割啊,你也想像带篮子和小浪那样被追着喷吗
点赞 评论 收藏
分享
05-21 18:32
已编辑
湖南工学院 Java
这条干货多数是给i人朋友们分享的,知道你们开不了口,可以试试我说的这些方法1.调整心态:接受初期的尴尬刚开始进入一个新环境,双方都属于一个认识对方的过程,尴尬瞬间是难免存在的。首先,你要接受尴尬,允许自己犯错,实习期本身就是来学习的,同事也不会期待你完美无缺。另外,不要太以自我为中心,其实你的尴尬瞬间也许没有人在意,是因你的对自己的关注而放大了不安全感。2.准备一些防止尴尬的话题和工作相关的,可以以请教的方式开启。比如:xx,这个表格我没有看懂,可以给我讲一下吗非工作的话题,可以聊聊中午吃什么、当地的天气如何、通勤远不远之类的。比如:附近有什么好吃的外卖吗?我刚来还不太熟悉3.每日练习,逐渐打...
sweep^0416:内向人,遇到好的领导很重要,我之前一段实习组里全e人就我一个i 刚入职第一周还会带着我聊一下,后面越来越冷落我,实在受不了,每天去到就想亖,mentor还要pua说是我融入不了集体(我真的以为是我的问题)后面我离职了,去了现在这一家公司,我的领导也是e人,但是我融入的很好,组里的人全都很好很好,也不会出现小团体什么的,所以说内向不是不融入环境的根本,就是公司跟带教的问题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务