From 504cf57178159fc3c93308509f9de13bb950ad22 Mon Sep 17 00:00:00 2001 From: xiaobai Date: Sat, 22 Mar 2025 21:12:39 +0800 Subject: [PATCH] ACM --- ACM/CQUPT-19/B.cpp | 28 ++++++++++++++++++++++++++ ACM/CQUPT-19/C.cpp | 25 +++++++++++++++++++++++ ACM/CQUPT-19/D.cpp | 38 +++++++++++++++++++++++++++++++++++ ACM/CQUPT-19/G.cpp | 22 +++++++++++++++++++++ ACM/CQUPT-19/I.cpp | 49 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 162 insertions(+) create mode 100644 ACM/CQUPT-19/B.cpp create mode 100644 ACM/CQUPT-19/C.cpp create mode 100644 ACM/CQUPT-19/D.cpp create mode 100644 ACM/CQUPT-19/G.cpp create mode 100644 ACM/CQUPT-19/I.cpp diff --git a/ACM/CQUPT-19/B.cpp b/ACM/CQUPT-19/B.cpp new file mode 100644 index 0000000..c60275b --- /dev/null +++ b/ACM/CQUPT-19/B.cpp @@ -0,0 +1,28 @@ +#include +using namespace std; +long long xors(long long n) { + const long long X = 1000000007; + if (n * n < X) { + return n % 2; + } + long long result = 0; + long long j = 1; + while (j <= n) { + long long val = X / j; + long long left = j; + long long right = min(n, X / val); + long long count = right - left + 1; + result ^= count; + j = right + 1; + } + return result; +} +int main() { + int t; + cin >> t; + while (t-- > 0) { + long long n; + cin >> n; + cout << xors(n) << endl; + } +} diff --git a/ACM/CQUPT-19/C.cpp b/ACM/CQUPT-19/C.cpp new file mode 100644 index 0000000..5c432d9 --- /dev/null +++ b/ACM/CQUPT-19/C.cpp @@ -0,0 +1,25 @@ +#include +#include +using namespace std; +int main() { + int t; + cin>>t; + while(t-->0) { + int n,m; + cin>>n>>m; + int arr1[n][m],arr2[m][n]; + for(int i=0;i>arr1[i][j]; + } + } + for(int i = 0; i < m; i++) + { + for(int j = 0; j < n; j++){ + printf("%d", arr1[j][i]); + printf(" "); + } + printf("\n"); + } + } +} \ No newline at end of file diff --git a/ACM/CQUPT-19/D.cpp b/ACM/CQUPT-19/D.cpp new file mode 100644 index 0000000..35e3d46 --- /dev/null +++ b/ACM/CQUPT-19/D.cpp @@ -0,0 +1,38 @@ +#include +using namespace std; +int main() { + long n,p,q; + cin>>n>>p>>q; + long arr[n]; + long chafen[n+1]; + for(long i=0;i>arr[i]; + } + chafen[n]=-arr[n-1]; + for(long i=n-1;i>=0;i--) { + if(i==0) chafen[i] =arr[i]; + else chafen[i]=arr[i]-arr[i-1]; + } + long t; + cin>>t; + for(int i=0;i>l>>r>>v; + chafen[l-1]+=v; + chafen[r]-=v; + } + long maxnum=0; + for(long i=0;i=q) { + cout<<"3G win win!"; + }else { + cout<<"3G wanna win win"; + } +} \ No newline at end of file diff --git a/ACM/CQUPT-19/G.cpp b/ACM/CQUPT-19/G.cpp new file mode 100644 index 0000000..1cd7493 --- /dev/null +++ b/ACM/CQUPT-19/G.cpp @@ -0,0 +1,22 @@ +#include +using namespace std; +int main() { + int sum=0,temp; + for(int i=0;i<3;i++) { + cin>>temp; + if((i==0 && temp<=80) || (i==1 && temp<=40)) { + cout<<-1; + return 0; + } + sum+=temp; + } + if(sum>=175 && sum<220) { + cout<<3; + }else if(sum>=220 && sum<250){ + cout<<2; + }else if(sum>=250) { + cout<<1; + }else { + cout<<-1; + } +} \ No newline at end of file diff --git a/ACM/CQUPT-19/I.cpp b/ACM/CQUPT-19/I.cpp new file mode 100644 index 0000000..b0260b8 --- /dev/null +++ b/ACM/CQUPT-19/I.cpp @@ -0,0 +1,49 @@ +#include +#include +#include +using namespace std; +int n; +vector credit; +vector> graph; +vector visited; +pair dfs(int u, int parent) { + visited[u] = true; + long long notTaken = 0, taken = credit[u]; + for (int v : graph[u]) { + if (v == parent) continue; + if (!visited[v]) { + auto child = dfs(v, u); + notTaken += max(child.first, child.second); + taken += child.first; + } + } + return {notTaken, taken}; +} +int main(){ + cin >> n; + credit.resize(n + 1); + graph.resize(n + 1); + visited.assign(n + 1, false); + for (int i = 1; i <= n; i++){ + cin >> credit[i]; + } + for (int i = 1; i <= n; i++){ + int Ai; + cin >> Ai; + for (int j = 0; j < Ai; j++){ + int v; + cin >> v; + graph[i].push_back(v); + graph[v].push_back(i); + } + } + long long ans = 0; + for (int i = 1; i <= n; i++){ + if (!visited[i]){ + auto res = dfs(i, -1); + ans += max(res.first, res.second); + } + } + cout<