日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小a的旅行计划

發布時間:2023/12/3 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小a的旅行计划 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源:牛客網

時間限制:C/C++ 1秒,其他語言2秒 空間限制:C/C++ 32768K,其他語言65536K 64bit IO Format: %lld

文章目錄

    • 題目描述
    • 題解:
    • 代碼:

題目描述

小a終于放假了,它想在假期中去一些地方游玩,現在有N個景點,編號為1, 2, \dots
N1,2,…N,同時小b也想出去游玩。由于一些特殊♂原因,他們的旅行計劃必須滿足一些條件 首先,他們可以從這N個景點中任意選幾個游玩
設小a選出的景點集合為A,小b選的景點集合為B,則需要滿足

  • A,B的交集不能為空集
  • A,B不能相互包含(A=B也屬于相互包含) 注意:在這里我們認為(A,B)是無序的,即(A,B)和(B,A)是同一種方案
  • 輸入描述:
    一個整數N表示景點的數量
    輸出描述:
    一個整數表示方案數,答案對108 + 7取模
    示例1
    輸入

    3

    輸出

    3

    說明
    合法的方案如下:
    小a:(1, 2) 小b: (2, 3)
    小a:(1, 3) 小b: (2, 3)
    小a:(1, 2) 小b: (1, 3)
    示例2
    輸入
    復制

    4

    輸出
    復制

    30

    示例3
    輸入
    復制

    2

    輸出
    復制

    0

    示例4
    輸入
    復制

    10000

    輸出
    復制

    68735934

    示例5
    輸入

    1

    輸出

    0

    備注:
    對于100%的數據1?n?10 13

    題解:

    解題思路來自
    我們整合一下題目的條件可以得到,A和B都至少有兩個元素,且最少有一個相同,至少有一個不同
    一共n的元素,我們可以先選出A的元素,然后在A中選一些元素作為公共元素,然后在A未選的元素中選擇給B
    可以得到公式

    我們注意到公式中存在除法操作,且我們需要mod,所以用逆元來算
    求逆元的方法:

    代碼:

    #include<iostream> #include<cstdio> using namespace std; typedef long long ll; const ll mod=1e8+7; ll exgcd(ll a,ll b,ll &x,ll &y)//擴展歐幾里得算法 {if(b==0){x=1;y=0;return a; //到達遞歸邊界開始向上一層返回}ll gcd=exgcd(b,a%b,x,y);ll y1=y; //把x y變成上一層的ll x1=x;y=x1-(a/b)*y1;x=y1;return gcd; //得到a b的最大公因數 } ll inv(ll a,ll mod){ll x,y;ll gcd=exgcd(a,mod,x,y);if(gcd!=1)return -1;else return (x+mod)%mod; } ll poww(ll a,ll b){ll ans=1;ll base=a%mod;while(b){if(b&1)ans=ans*base%mod;base=base*base%mod;b>>=1;}return ans%mod; } //ll inv(ll a,ll mod){ // return poww(a,mod-2); //} int main() {ll n;cin>>n; // cout<<poww(2,3)<<endl;ll ans1=((poww(4,n)-1)-(poww(3,n+1))+mod)%mod;ll ans2=3*poww(2,n-1)%mod;ll ans3=inv(2,mod)%mod;cout<<(ans1*ans3+ans2)%mod;return 0; } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的小a的旅行计划的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。