diff --git a/src/8/11/P11363.cpp b/src/8/11/P11363.cpp new file mode 100644 index 0000000..534b29e --- /dev/null +++ b/src/8/11/P11363.cpp @@ -0,0 +1,50 @@ +#include +#include +#include +#include + +using ll = int64_t; + +ll n,k,T,e; +std::vector> map; +std::vector d,jc; +const ll M = 1e9+7; + +void solve(){ + std::cin>>n>>k; + map.clear(); + map.resize(n+1); + d.clear(); + d.resize(n+1); + for(ll i=1;i<=n-1;i++){ + ll u,v; + std::cin>>u>>v; + map[u].push_back(v); + map[v].push_back(u); + d[u]++; + d[v]++; + } + std::cin>>e; + ll maxd=1; + for(ll i=1;i<=n-1;i++){ + maxd=std::max(maxd,d[i]); + } + jc.clear(); + jc.resize(maxd+1); + jc[1]=1; + for(ll i=2;i<=maxd;i++){ + jc[i]=jc[i-1]*i%M; + } + ll ans=1; + for(ll i=1;i<=n-1;i++){ + ans=(ans+jc[d[i]-1])%M; + } + std::cout<<(ans*2)%M<<'\n'; +} + +int main(){ + std::cin>>T; + while(T--){ + solve(); + } +} \ No newline at end of file diff --git a/src/8/11/P11364.cpp b/src/8/11/P11364.cpp new file mode 100644 index 0000000..7beefe4 --- /dev/null +++ b/src/8/11/P11364.cpp @@ -0,0 +1,21 @@ +#include +#include +#include +#include + +using ll = int64_t; + +ll n; +std::vector> m; + +int main(){ + std::cin>>n; + m.resize(n+1); + for(ll i=1;i<=n-1;i++){ + ll u,v; + std::cin>>u>>v; + m[u].push_back(v); + m[v].push_back(u); + } + +} \ No newline at end of file diff --git a/src/8/11/longest-substring-without-repeating-characters.cpp b/src/8/11/longest-substring-without-repeating-characters.cpp new file mode 100644 index 0000000..f9ab38f --- /dev/null +++ b/src/8/11/longest-substring-without-repeating-characters.cpp @@ -0,0 +1,39 @@ +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +class Solution { +public: + int lengthOfLongestSubstring(std::string s) { + + std::vector last_pos(128, -1); + int n = s.length(); + if (n == 0) { + return 0; + } + int max_len = 0; + int left = 0; + + for (int right = 0; right < n; ++right) { + + char current_char = s[right]; + + if (last_pos[current_char] >= left) { + left = last_pos[current_char] + 1; + } + + last_pos[current_char] = right; + + max_len = std::max(max_len, right - left + 1); + } + return max_len; + } +}; + +int main() { +} \ No newline at end of file diff --git a/src/8/11/range-product-queries-of-powers.cpp b/src/8/11/range-product-queries-of-powers.cpp new file mode 100644 index 0000000..e62ab5b --- /dev/null +++ b/src/8/11/range-product-queries-of-powers.cpp @@ -0,0 +1,35 @@ +#include +#include +#include +using namespace std; + +class Solution { + using ll = int64_t; +public: + static inline ll lowbit(ll n){ + return n&(-n); + } + constexpr vector productQueries(int n, vector>& queries) { + const ll M=1e9+7; + vector v; + v.reserve(128); + while(lowbit(n)){ + v.push_back(lowbit(n)); + n-=lowbit(n); + } + vector ans; + ans.reserve(queries.size()); + for(ll i=0;i