首页 > 其他分享 >D. Good Trip

D. Good Trip

时间:2024-02-12 15:23:27浏览次数:21  
标签:Good exponent int sum long base Trip mod

原题链接

题解

1.把分数中的除法用乘以逆元表示,在求模运算里的除法都可以用乘以逆元代替(如果除法的结果为整数),但是这里规定了可以用其表示,那就用其表示
2.读题

code

#include<bits/stdc++.h>
int mod=1e9+7; // 确保 mod 是一个整数
using namespace std;

// 快速幂函数,计算 base 的 exponent 次幂,模 mod
long long qpow(long long base, long long exponent, long long mod) {
    long long result = 1;
    base = base % mod; // 确保 base 小于 mod
    while (exponent > 0) {
        if (exponent % 2 == 1) {
            result = (result * base) % mod;
        }
        base = (base * base) % mod;
        exponent >>= 1; // exponent /= 2
    }
    return result;
}

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n, m, k;
        long long sum = 0; // 使用长整型避免潜在的溢出
        cin >> n >> m >> k;
        for (int i = 1; i <= m; i++) {
            int x, y;
            long long z; // 使用长整型避免潜在的溢出
            cin >> x >> y >> z;
            sum = (sum + z) % mod;
        }

        long long p = (long long)n * (n - 1) % mod; // 使用长整型避免潜在的溢出
        long long ans = 0;
        p = 2 * qpow(p, mod - 2, mod) % mod; // 使用 qpow 计算逆元
        while (k--) {
            ans = (ans + sum * p % mod) % mod;
            sum = (sum + m * p % mod) % mod;
        }
        cout << ans << endl;
    }
    return 0;
}

标签:Good,exponent,int,sum,long,base,Trip,mod
From: https://www.cnblogs.com/pure4knowledge/p/18013924

相关文章

  • CF316G3 Good Substrings
    题意简述有一个字符串\(s\)和\(n\)条限制,每条限制给出字符串\(t_i\)和两个整数\(l_i,r_i\),要求一个字符串要满足在\(t_i\)中的出现次数要在\([l_i,r_i]\)之间。求\(s\)有多少本质不同的子串满足所有限制。\(|s|,\max|t|\le5\times10^4,n\le10\)分析“本质不同......
  • Beaver triples/乘法三元组/乘法加密
    本文由BingAI/NewBing/Sydney根据这篇文章总结得出。首先,我们假设有两个参与方S1和S2,他们分别持有秘密值x和y的加法分享值x1和x2,y1和y2。也就是说,x=x1+x2,y=y1+y2。他们想要计算x和y的乘积,但是不想暴露自己的分享值。为了实现这个目的,他们需要在离线阶段预先生成一个......
  • [ABC327G] Many Good Tuple Problems 题解
    Description对于一对长度均为\(M\)且元素值在\(\left[1,N\right]\)之间的序列\((S,T)\),定义其为好的当且仅当:存在一个长度为\(N\)的\(01\)序列\(X\),使得其满足如下条件:对于任意\(i\in\left[1,M\right]\),有\(X_{S_i}\neqX_{T_i}\)。给定\(N,M\),求在......
  • CF1338C Perfect Triples 题解
    解题思路没什么好说的,就是打表找规律……表在这里不难发现,三元组中第一个数的最后两位按照\(00\to01\to10\to11\)的顺序变化,其他位也一样,同样,第二个数和第三个数中每两位分别按照\(00\to10\to11\to01\)和\(00\to11\to01\to10\)的顺序变化,且与第一个数对应变化......
  • Good Bye 2023
    A本质就是判断\(\prod_{i=1}^{n}b_i\)是否能整除\(2023\)。输出被移除的数,只要令\(k-1\)个为\(1\),剩下的一个随便算算即可。B非常难绷。首先将\(a\)和\(b\)都除以\(\operatorname{gcd}(a,b)\),并记录原来的\(\operatorname{gcd}(a,b)\)为\(t\)。如果\(a=1\),......
  • D. Good Trip
    D.GoodTripThereare$n$childreninaclass,$m$pairsamongthemarefriends.The$i$-thpairwhoarefriendshaveafriendshipvalueof$f_i$.Theteacherhastogofor$k$excursions,andforeachoftheexcursionsshechoosesapairofchildrenran......
  • 数学概率拆分——cf_921_D.Good Trip
    目录问题概述思路想法参考代码问题反思问题概述原题参考:D.GoodTrip大致意思就是一个老师带着n个孩子,其中有m对是朋友,每对朋友之间有一个友谊值,不是朋友的则是0,这个老师要出去玩k次,每次可以带上两个小朋友(为什么不能一起带,这是偏爱!!!),如果这两个小朋友是朋友关系的话,那么他们的......
  • CF921 D. Good Trip
    题面代码点击查看代码#include<bits/stdc++.h>usingnamespacestd;#defineIOSios::sync_with_stdio(0);cin.tie(0);cout.tie(0);#definerep(i,a,n)for(inti=a;i<=n;i++)#defineper(i,a,n)for(inti=n;i>=a;i--)#definefirstfi#defineseconfse#defi......
  • Striped64源码阅读
    目录简介模型代码分析成员变量方法补充ThreadLocalRandomContended注解-解决伪共享问题参考链接本人的源码阅读主要聚焦于类的使用场景,一般只在java层面进行分析,没有深入到一些native方法的实现。并且由于知识储备不完整,很可能出现疏漏甚至是谬误,欢迎指出共同学习本文基于cor......
  • 【容斥反演】Nanami and Trip Schemes Count Problem
    链接给定\(k\)个特殊格子,求从(1,1)往右或往上走到(n,m),在经过不超过\(p\)个特殊格的情况下的方案数设\(f(S)\)表示钦定走S集合中格子的方案,\(g(S)\)为恰好走S集合的方案,那么\(f\)与\(g\)的关系就是一个\(\subseteq\)意义下的前缀和。即\[f(S)=\sum_{S\subs......