北京市建设投标网站,医疗网站建设需要什么资质,海外营销网络,电商主题wordpress题目列表 说明
好久没打蓝桥杯的比赛#xff0c;回来试试水#xff0c;就开了第1、2、3一共三个题#xff0c;第4题可惜了。1.thanks,mom【算法赛】 思路#xff1a;
没什么好说的#xff0c;但是当时比赛刚开始服务器有问题#xff0c;基本提交的全WA了。#include 回来试试水就开了第1、2、3一共三个题第4题可惜了。1.thanks,mom【算法赛】 思路
没什么好说的但是当时比赛刚开始服务器有问题基本提交的全WA了。#include bits/stdc.h
#define endl \n
#define int long long
using namespace std;
using ull unsigned long long;
const int N 1e55,mod 1e97,INF 0x3f3f3f3f;
void solve(){cout thanks,mom;
}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T 1;
// cin T;while(T--){solve();} return 0;
}2.霓虹【算法赛】 说明
这个题没啥好特别的想法我想的是把0到9的每一笔画是否出现置成0和1有该笔画为1否则为0然后遍历两个字符串比较。参考代码
#include bits/stdc.h
#define endl \n
using namespace std;
using ll long long;
using ull unsigned long long;
const int N 1e55,mod 1e97,INF 0x3f3f3f3f;
//上横第二维下标为0,左上竖1右上竖2中横3左下竖4右下竖5下横6
int cnt[10][7]{{1,1,1,0,1,1,1},{0,0,1,0,0,1,0},{1,0,1,1,1,0,1},
{1,0,1,1,0,1,1},{0,1,1,1,0,1,0},{1,1,0,1,0,1,1},{1,1,0,1,1,1,1},
{1,0,1,0,0,1,0},{1,1,1,1,1,1,1},{1,1,1,1,0,1,1}};
void solve(){string s1,s2;cin s1 s2;int ans 0;for(int i 0;is1.size();i){char c1s1[i],c2s2[i];if(c1c2) continue;else{for(int j 0;j7;j){if(cnt[c1-0][j]!cnt[c2-0][j]) ans;}}}cout ans endl;
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T 1;
// cin T;while(T--){solve();} return 0;
}3. 奇偶排序【算法赛】 思路
没啥好说的存进数组后sort()一下自己写一个cmp()比较函数即可参考题解
#include bits/stdc.h
#define endl \n
using namespace std;
using ll long long;
using ull unsigned long long;
const int N 1e35,mod 1e97,INF 0x3f3f3f3f;
int a[N];
int n;
bool cmp(int a1,int a2){if(a1%21a2%21) return a1a2;else if(a1%20a2%20) return a1a2;else if(a1%20a2%21) return false;else if(a1%21a2%20) return true;
}
void solve(){cin n;for(int i 0;in;i) cin a[i];sort(a,an,cmp);for(int i 0;in;i) cout a[i] \n[in-1];
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T 1;
// cin T;while(T--){solve();} return 0;
}4. 可结合的元素对【算法赛】 说明
最简单的方法是写两个循环暴力跑我也是这么做的但是当时比赛环境可能有问题一直过不去比赛完了重新提交就AC了用map或者onordered_map也可以跑出来不过当时比赛的时候没想到其中用unordered_map速度最快map速度最慢参考题解1
#include bits/stdc.h
#define endl \n
#define int long long
using namespace std;
const int N 1e55;
int n;
int a[N];
int lowbit(int x){return x(-x);}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin n;for(int i 1;in;i) cin a[i];int ans 0;for(int i 1;in;i){for(int j i1;jn;j){if(lowbit(a[i]a[j])a[i]a[j]) ans;}}cout ans;return 0;
}参考题解2
#include bits/stdc.h
#define endl \n
using namespace std;
using ll long long;
using ull unsigned long long;
const int N 1e55,mod 1e97,INF 0x3f3f3f3f;
mapll,ll mp;
void solve(){int n;cin n;ll ans 0;for(int i 1;in;i){ll x;cin x;for(int j 0;j32;j){ll y 1LLj;ansmp[y-x];}mp[x];}cout ans;
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T 1;
// cin T;while(T--){solve();} return 0;
}参考题解3
#include bits/stdc.h
#define endl \n
using namespace std;
using ll long long;
using ull unsigned long long;
const int N 1e55,mod 1e97,INF 0x3f3f3f3f;
unordered_mapll,ll mp;
void solve(){int n;cin n;ll ans 0;for(int i 1;in;i){ll x;cin x;for(int j 0;j32;j){ll y 1LLj;ansmp[y-x];}mp[x];}cout ans;
}
int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T 1;
// cin T;while(T--){solve();} return 0;
}5. 兽之泪【算法赛】 思路
用堆实现每次取到的都是最小的但是前k-1个要考虑是否是第一次打败的问题以及考虑是否要打第k个怪物的问题参考题解
#include bits/stdc.h
#define endl \n
#define int long long
using namespace std;
using PII pairint,int;
const int N 2e55;
int k,n;
PII a[N];
priority_queuePII,vectorPII,greaterPII heap1;
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin k n;for(int i 1;ik;i){int x,y;cin x y;a[i]{x,y};}for(int i 1;ik-1;i){PII t1 {a[i].first,i};heap1.push(t1);}int ans1 0;for(int i 1;in;i){auto theap1.top();ans1t.first;if(t.second!-1){heap1.pop();PII t1 {a[t.second].second,-1LL};heap1.push(t1);}}int ans2 0;priority_queuePII,vectorPII,greaterPII heap2;for(int i 1;ik;i){ans2a[i].first;heap2.push({a[i].second,-1LL});n--;}for(int i 1;in;i){auto t1 heap2.top();ans2t1.first;}cout min(ans1,ans2);return 0;
}6. 矩阵X【算法赛】 说明
这个题用二维前缀和加滑动窗口来写最便捷参考题解从大佬那copy来的 #includebits/stdc.h
using namespace std;
#define int long long
#define ll long long
#define pp pairint,int
const int N1e610;
const int M(1ll31)-1;
int n,m,x,y,k,z,o;
const int mo1e97;
struct w{int x,y;
}a[N];
void sovel()
{cinnmko;vectorvectorint v(n1,vectorint(m1));vectorvectorint sum(n1,vectorint(m1));vectorvectorint dpa(n1,vectorint(m1));vectorvectorint dpb(n1,vectorint(m1));auto getsum[](int x,int y){if(xk||yo){return 0ll;}return sum[x][y]-sum[x-k][y]-sum[x][y-o]sum[x-k][y-o]; };for(int i1;in;i){for(int j1;jm;j){cinv[i][j];sum[i][j]sum[i-1][j]sum[i][j-1]-sum[i-1][j-1]v[i][j];}}for(int j1;jm;j){int l0,r-1;for(int i1;in;i){xv[i][j];while(lra[r].xx){r--;}r;a[r]{x,i};while(i-a[l].y1k){l;}dpa[i][j]a[l].x;}}for(int ik;in;i){int l0,r-1;for(int j1;jm;j){xdpa[i][j];while(lra[r].xx){r--;}r;a[r]{x,j};while(j-a[l].y1o){l;}dpb[i][j]a[l].x;}}int manx0;for(int j1;jm;j){int l0,r-1;for(int i1;in;i){x-v[i][j];while(lra[r].xx){r--;}r;a[r]{x,i};while(i-a[l].y1k){l;}dpa[i][j]a[l].x;}}for(int ik;in;i){int l0,r-1;for(int j1;jm;j){xdpa[i][j];while(lra[r].xx){r--;}r;a[r]{x,j};while(j-a[l].y1o){l;}manxmax(manx,(dpb[i][j]a[l].x)*getsum(i,j));}}coutmanx;
}
signed main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int t1;while(t--){sovel();}
}