Problem A. Drill Wood to Make Fire
S * V >= n即可
#include<bits/stdc++.h> #define int long long #define endl '\n' using namespace std; const int N = 2010,mod = 1e9 + 7; int n,s,v; void solve() { cin >> n >> s >> v; if(s * v >= n) cout << 1 << endl; else cout << 0 << endl; } int32_t main() { ios::sync_with_stdio(false); cin.tie(nullptr), cout.tie(nullptr); int h_h = 1; cin >> h_h; while(h_h--)solve(); return 0; }
Problem B. Wonderful Array
#include <bits/stdc++.h> #define endl '\n' #define int long long #define inf 0x3f3f3f3f using namespace std; const int N = 2e3 + 10; //typedef long long ll; typedef pair<int,int> PII; //queue<PII> q1; map<int, int > mp; int n,m,t,k; priority_queue <int,vector<int>,greater<int> > Q; void solve() { cin >> k; vector<int> a(k); for(int i = 0;i < k;i++) cin >> a[i]; int x; cin >> n >> m >> x; for(int i = 0;i < k;i++) a[i] %= m; int sum = x % m; int num = 0; for(int i = 0;i < k;i++) num += a[i]; sum += n / k * num; for(int i = 0;i < n % k;i++) sum += a[i]; cout << n - sum / m << endl; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr);cout.tie(nullptr); int Ke_scholar = 1; //cin >> Ke_scholar; while(Ke_scholar--) solve(); return 0; } /* */
Problem I. Tree
#include <bits/stdc++.h> #define inf 0x3f3f3f3f #define endl '\n' #define int long long using namespace std; const int N = 1e6+10, mod = 1e9 + 7; //typedef long long ll; typedef pair<int,int> PII; int n,m,t,k; map<int,int> mp; priority_queue<int> QQ; deque<int> Q; void solve() { cin >> n >> m; vector<PII> a[n + 1]; vector<int> sum(n + 1,0); for(int i = 1;i < n;i++){ int x,y,z; cin >> x >> y >> z; a[x].push_back({y,z}); a[y].push_back({x,z}); } for(int i = 1;i <= n;i++){ for(auto j : a[i]) sum[i] ^= j.second; } while(m--){ int op; cin >> op; if(op == 1){ int x,y,z; cin >> x >> y >> z; sum[x] ^= z; sum[y] ^= z; } else{ int x; cin >> x; cout << sum[x] << endl; } } } signed main() { ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int Ke_scholar = 1; //cin >> Ke_scholar; while(Ke_scholar--) solve(); return 0; } /* */
Problem J. Function
#include <map> #include <set> #include <cmath> #include <queue> #include <stack> #include <cstdio> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #define inf 0x3f3f3f3f #define endl '\n' #define int long long #define LB long double using namespace std; const int N = 1000000000, mod = 1e9 +7; //typedef long long ll; typedef pair<int,int> PII; //queue<PII> q1; map<char, int > mp; //priority_queue <LB,vector<LB>,less<LB> > Q; int n,m,t,k; /* */ string s; void solve() { cin >> n; vector<int> b(n + 1); for(int i = 1;i <= n;i++) cin >> b[i]; int sn = sqrt(n); int q; cin >> q; while(q--){ int op; cin >> op; if(op){ int x; cin >> x; int res = LONG_LONG_MAX; for(int i = x - sn; i <= sn + x + 1;i ++){ if(i >= 0 && i < n && b[i]) res = min(res, (i - x) * ( i - x) + b[i]); } cout << res << endl; } else{ int x,y; cin >> x >> y; if(b[x]) b[x] = min(y, b[x]); else b[x] = y; } } } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr);cout.tie(nullptr); int Ke_scholar = 1; // cin >> Ke_scholar ; while(Ke_scholar--) solve(); return 0; }
Problem K. Split
实际上就是先对n个数的差进行预处理,排序后求一个前缀和,操作0时对于这个差值是不会产生任何改变的,操作1时给一个整数k,则n - k - 1的前缀和.
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr),cout.tie(nullptr); int n; cin >> n; vector<int> a(n); for(int i = 0;i < n;i ++) cin >> a[i]; int q; vector<int> ve; for(int i = 1;i < n;i ++){ int x = abs(a[i] - a[i - 1]); ve.push_back(x); } sort(ve.begin(),ve.end()); map<int,int> mp; for(int i = 0;i < ve.size();i++){ if(i == 0) mp[i] = ve[i]; else mp[i] = ve[i] + mp[i - 1]; } cin >> q; while(q--){ int op; cin >> op; if(!op){ int x; cin >> x; a[x - 1] = a[x] + a[x - 2] - a[x - 1]; } else{ int k; cin >> k; cout << mp[n - k - 1] << endl; } } return 0; } /* */
Problem L. Zhang Fei Threading Needles - Thick with Fine
输出n - 1即可
#include <map> #include <set> #include <cmath> #include <queue> #include <stack> #include <cstdio> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <iostream> #include <algorithm> #define inf 0x3f3f3f3f #define endl '\n' #define int long long using namespace std; const int N = 1e9 + 10, mod = 1e9 +7; //typedef long long ll; typedef pair<int,int> PII; //queue<PII> q1; map<char, int > mp; //priority_queue <int,vector<int>,greater<int> > q2; int n,m,t,k; /* */ string s; vector<PII> a,ans; void solve() { cin >> n; cout << n - 1 << endl; } signed main() { ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int Ke_scholar = 1; //cin >> Ke_scholar ; while(Ke_scholar--) solve(); return 0; }
- Contest 2023 Provincial Official Jiangxicontest provincial official jiangxi contest 2023 provincial official programming collegiate provincial contest programming provincial contest shaanxi 2019 programming provincial contest 2023 programming collegiate provincial jiangxi official contest summer round 2023 regionals contest online 2023