
杂七杂八的题目
每日一题,保持感觉。
gorgeous(๑><๑)
一点浩然气,千里快哉风。
展开
-
【易忘】枚举区间长度
思路:区间长度1-n枚举,左端点从1开始,右端点等于左端点加区间长度-1for(int len = 1; len <= n; len++){ for(int l = 1; l <= n-len+1; l++){ int r = l+len-1; cout<<l<<" "<<r<<endl; }}31 12 23 31 22 31 3for(int len = 1; len <原创 2022-04-02 20:23:37 · 305 阅读 · 0 评论 -
【公司笔试】美团2022届秋招技术综合-后台方向A-C题【2021.8.29】
丁香树思路暴力由于ai≤30a_i \leq 30ai≤30,因此对于每一颗丁香树,我们可以暴力判断它前面是否出现了丁香值小于它的,时间复杂度O(30∗n)O(30*n)O(30∗n)AC代码#pragma GCC optimize("Ofast")#pragma GCC target("avx,avx2,fma")#pragma GCC optimization("unroll-loops")#include<bits/stdc++.h>using namespace s原创 2021-08-29 21:07:09 · 823 阅读 · 0 评论 -
【每日一题】AcWing3761 唯一最小数【哈希】
现在CF的第二题都这么水了吗。。。思路哈希一下,查找出现次数只有一次的就可以了。AC代码C++#include<bits/stdc++.h>using namespace std;const int maxn = 2e5+10;int cnt[maxn];int w[maxn];int main(void){ int t; cin >> t; while(t--){ int n; cin >> n原创 2021-07-13 21:37:41 · 183 阅读 · 0 评论 -
【每日一题】AcWing3720 数组重排【排序】
思路将a数组或b数组一个生序一个降序排序即可。AC代码C++#include<iostream>#include<algorithm>using namespace std;const int maxn = 110;int a[maxn];int b[maxn];int main(void){ int t; cin >> t; while(t--){ int n,x; cin >> n >> x; for(i原创 2021-07-07 22:33:16 · 114 阅读 · 1 评论 -
【每日一题】AcWing3711 方格涂色【暴力枚举】
思路枚举四个角的状态,这样就能够确定每条边的状态。AC代码C++#include <iostream>using namespace std;int n;int u,r,d,l;bool check(int state){ int a = state >> 0 & 1; int b = state >> 1 & 1; int x = state >> 2 & 1; int y = state >>原创 2021-07-06 20:34:35 · 123 阅读 · 0 评论 -
【每日一题】AcWing3705 子集mex值【贪心】
思路如果x能分到两个集合当中,显然分,如果只能分一个就分一个,第一个不能分的就是某个集合要返回的mex值。C++#include <iostream>using namespace std;const int maxn = 110;int a[maxn];int main(int argc, char *argv[]) { int t; cin >> t; while(t--){ int n; cin >> n; for(int i =原创 2021-07-05 20:35:10 · 154 阅读 · 0 评论 -
【每日一题】AcWing3732 矩阵复原【构造】
思路对于每一行,我们存储每个数所在的列,对于每一列,我们去查询在哪一行,然后存储到一个答案数组即可。AC代码C++#include <iostream>using namespace std;const int maxn = 510;int p[maxn*maxn];int ans[maxn][maxn];int main(int argc, char *argv[]) { int t; cin >> t; while(t--){ int n,m;原创 2021-07-04 13:57:06 · 76 阅读 · 0 评论 -
【每日一题】AcWing3731-序列凑零【构造】
思路由于n是偶数,所以我们可以这样构造相邻加和为0即可。AC代码C++#include <iostream>using namespace std;const int maxn = 110;int a[maxn];int main(int argc, char *argv[]) { int t; cin >> t; while(t--){ int n; cin >> n; for(int i = 1; i <= n; ++i)原创 2021-07-03 20:31:23 · 83 阅读 · 2 评论 -
【每日一题】AcWing3730【构造】
思路简单构造,由于a[i],b[i],c[i]a[i],b[i],c[i]a[i],b[i],c[i]三个数互不相同,固定p[1]p[1]p[1],对于p[i]p[i]p[i]一定可以从a[i+1],b[i+1],c[i+1]a[i+1],b[i+1],c[i+1]a[i+1],b[i+1],c[i+1]中找到一个与p[i]p[i]p[i]不同的,特别注意的是,p[n]p[n]p[n]需要特判p[n−1]p[n-1]p[n−1]和p[0]p[0]p[0]。AC代码C++代码#include <原创 2021-07-02 21:23:43 · 76 阅读 · 0 评论