From d9c82a9e667f3130c69a6c8d6b3396343be6c96b Mon Sep 17 00:00:00 2001 From: Zengtudor Date: Sat, 3 Aug 2024 15:28:26 +0800 Subject: [PATCH] update --- day2/U111091/sun.cpp | 76 ++++++++++++++++++++++++++ day2/U111091/tempCodeRunnerFile | Bin 0 -> 39784 bytes day2/U111091/tempCodeRunnerFile.cpp | 79 ++++++++++++++++++++++++++++ day2/U232856/U232856.cpp | 1 - day2/U232856/chat | Bin 0 -> 33128 bytes day2/U232856/chat.cpp | 61 +++++++++++++++++++++ 6 files changed, 216 insertions(+), 1 deletion(-) create mode 100644 day2/U111091/sun.cpp create mode 100755 day2/U111091/tempCodeRunnerFile create mode 100644 day2/U111091/tempCodeRunnerFile.cpp create mode 100755 day2/U232856/chat create mode 100644 day2/U232856/chat.cpp diff --git a/day2/U111091/sun.cpp b/day2/U111091/sun.cpp new file mode 100644 index 0000000..b9d5b06 --- /dev/null +++ b/day2/U111091/sun.cpp @@ -0,0 +1,76 @@ +#include +using namespace std; +#define int long long + +const int MAX_N = 10'0000; +int times; + +int x[MAX_N]; +int l[MAX_N]; +int prefix_r[MAX_N]; +int r[MAX_N]; + +// void debug_array(int array[],size_t size,string name){ +// cout<<"\n"<>times; + for(int t=1;t<=times;t++){ + + int n,k,m; + cin>>n>>k>>m; + for (int i=1; i<=n; i++) { + cin>>x[i]; + } + + string s; + cin>>s; + int sum=0,cnt=0; + vector v; + int last0=1; + for (int i=2; i<=n; i++) { + if(s[i-2]=='0') + { + int dif=x[i-1]-x[last0]; + sum+=dif; + cnt+=dif/m; + v.push_back(dif%m); + last0=i; + } + } + int dif=x[n]-x[last0]; + sum+=dif; + cnt+=dif/m; + v.push_back(dif%m); + sort(v.begin(),v.end(),greater()); + if(k<=cnt) + { + sum-=k*m; + } + else + { + sum-=cnt*m; + k-=cnt; + for(int j:v) + { + if(k==0) + { + break; + } + sum-=min(j,m); + k--; + } + } + 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 DHni%I literal 0 HcmV?d00001 diff --git a/day2/U111091/tempCodeRunnerFile.cpp b/day2/U111091/tempCodeRunnerFile.cpp new file mode 100644 index 0000000..467ac47 --- /dev/null +++ b/day2/U111091/tempCodeRunnerFile.cpp @@ -0,0 +1,79 @@ +#include +using namespace std; +#define int long long + +const int MAX_N = 10'0000; +int times; + +int x[MAX_N]; +int l[MAX_N]; +int prefix_r[MAX_N]; +int r[MAX_N]; + +// void debug_array(int array[],size_t size,string name){ +// cout<<"\n"<>times; + for(int t=1;t<=times;t++){ + + int n,k,m; + cin>>n>>k>>m; + for (int i=1; i<=n; i++) { + cin>>x[i]; + } + + string s; + cin>>s; + int sum=0,cnt=0; + vector v; + int last0=1; + for (int i=2; i<=n; i++) { + if(s[i-2]=='0') + { + int dif=x[i-1]-x[last0]; + sum+=dif; + cnt+=dif/m; + v.push_back(dif%m); + last0=i; + } + } + int dif=x[n]-x[last0]; + sum+=dif; + cnt+=dif/m; + v.push_back(dif%m); + sort(v.begin(),v.end(),greater()); + if(k<=cnt) + { + sum-=k*m; + } + else + { + sum-=cnt*m; + k-=cnt; + for(int j:v) + { + if(k==0) + { + break; + } + sum-=min(j,m); + k--; + } + } + cout<>r1>>r2>>c1>>c2; - } for (int i=1 ;i<=q2;i++) { int r1,r2,c1,c2; diff --git a/day2/U232856/chat b/day2/U232856/chat new file mode 100755 index 0000000000000000000000000000000000000000..179b87e6e4329de7c25506488730af26daaef560 GIT binary patch literal 33128 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 literal 0 HcmV?d00001 diff --git a/day2/U232856/chat.cpp b/day2/U232856/chat.cpp new file mode 100644 index 0000000..d1a049b --- /dev/null +++ b/day2/U232856/chat.cpp @@ -0,0 +1,61 @@ +#include +#include +#include + +const int MOD = 1e4 + 7; +using namespace std; + +int count_black_rectangles(const vector>& grid, int n) { + vector> heights(n, vector(n, 0)); + int total_rectangles = 0; + + + for (int j = 0; j < n; ++j) { + for (int i = 0; i < n; ++i) { + if (grid[i][j]) { + heights[i][j] = (i > 0 ? heights[i - 1][j] + 1 : 1); + } + } + } + + + for (int i = 0; i < n; ++i) { + for (int j = 0; j < n; ++j) { + if (grid[i][j]) { + int min_height = heights[i][j]; + for (int k = j; k >= 0 && grid[i][k]; --k) { + min_height = min(min_height, heights[i][k]); + if (min_height >= 2) { + total_rectangles += min_height - 1; + } + } + } + } + } + + return total_rectangles; +} + +int main() { + int n; + cin >> n; + + vector> grid(n, vector(n, 0)); + + for (int i = 0; i < n; ++i) { + string row; + cin >> row; + for (int j = 0; j < n; ++j) { + grid[i][j] = row[j] - '0'; + } + } + + int total_rectangles = count_black_rectangles(grid, n); + + + long long result = (1LL * total_rectangles * (total_rectangles - 1) / 2) % MOD; + + cout << result << endl; + + return 0; +}