- 博客(52)
- 收藏
- 关注
原创 2952. 需要添加的硬币的最小数量(结论题)
分析知:设指针值从1开始依次递增,每次将coins里的值累加起来看能否得到或者大于当前指针值 ,否则就将该指针值累加起来,即需要添加的数。
2023-12-05 17:13:30
544
原创 小辰的智慧树(差分+前缀和)
1.考虑总长度之和不能超过m,2考虑限制每棵树高度不能低于ci,如果用二分最短输能截到的高度,还要另外去判断,是否每棵树mid都能严格大于ci ,这样容易超时,换个角度,每棵树我能截到的高度是从a到b,而且最优解是每次只截一个单位长度,因此我想要结果越大就要保持我截到的越高越好,差分和前缀和将所有能截到的位置统计起来,并统计了每个位置有几棵树能截,从最高位置遍历,累加总数不超过m即可。
2023-11-23 16:25:09
623
原创 STL笔记
字符串string s;s.size()/s.length();s.empty();s.erase(i,len);从下标i删除len个字符串s.erase(s.begin()+i);从开始删除i个字符s.insert(i,n,c);s.replace(i,n1,s2,j,n2);s.find(s1,n)
2023-05-19 18:03:41
93
原创 E. Scuza(思维+二分)
现将前缀台阶高度和前缀最大值求出(即到达i位置需要的最大腿长),然后每次在前缀最大值数组里找第j个腿长,找到的位置输出该位置的前缀和,即该腿长能走的台阶最高高度。题意:有n 个台阶的高度,和k个腿长,求每个腿长能走最长多少米的台阶。思路:前缀最大值+前缀和+二分。
2022-10-15 00:18:29
644
原创 D. Coprime(思维)
题意:在一组数中找到两个数,使得这两个数不仅互质,并且下标之和最大,暴力时间复杂度为n^2,会超时,因此我们可以在输入这组数时,把该数标记一下,并记录下它最后一次出现时的下标(贪心,是其下标和最大),然后两重循环1-1000之间的数,找到互质并且被标记过的数,取最大下标和。重点之处在于:当考虑到两重循环遍历整个数组会超时时,不如看看数据范围,如果数不大,可以标记下然后两重循环遍历数!
2022-10-14 22:40:06
519
1
原创 G--归零-------牛客
G-归零_第十九届同济大学程序设计竞赛暨高校网络友谊赛 (nowcoder.com)#include <bits/stdc++.h>using namespace std;const int N=2e5+10;typedef long long ll;ll a[N],sum[N];//开long long !!!int main(){ ios::sync_with_stdio(f...
2022-05-21 23:35:39
192
原创 [JSOI2008]最大数MAXNUMBER——牛客网
登录—专业IT笔试面试备考平台_牛客网#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=200100;struct node{ ll l,r; ll num;}tree[4*N];void build(int p,int l,int r){//递归建树 tree[p].l=l,tree[p].r=r; if(l==r){//如果结点是.
2022-05-16 17:38:01
117
原创 P1036 [NOIP2002 普及组] 选数——洛谷
P1036 [NOIP2002 普及组] 选数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)//不要着急,耐心一点,相信自己,不要摆烂,一定要坚持#include <bits/stdc++.h>using namespace std;typedef long long ll;map<int,int>dp;int a[10000],b[10000];int n,k,ans=0;int su(int n){ int c=1; if(n==...
2022-05-03 17:08:16
454
2
原创 P2392 kkksc03考前临时抱佛脚——洛谷
P2392 kkksc03考前临时抱佛脚 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)//不要着急,耐心一点,相信自己,不要摆烂,一定要坚持#include <bits/stdc++.h>using namespace std;typedef long long ll;map<int,int>dp;int a[10000],b[10000];int main(){ for(int i=0;i<4;i++)cin>...
2022-05-03 16:46:17
216
原创 小咪买东西———牛客
数据范围:1≤T≤101≤n≤1041≤k≤n1≤ci,vi≤104知识点:01分数规划+二分分析:1.已知要求总价值/总花费(即单位价值),设单位价值为x,则x = Σv / Σc。 2.化简得Σv - Σc * x = 0,接下来就是二分答案x。 3.如果我们选取的v和c使这个式子>0的话,说明至少还有一组v和c可以使得x更大:Σv - Σc * x > 0。这就是:x <Σv / Σc(算出了...
2022-04-30 15:52:43
233
原创 小红的rpg游戏———牛客(广搜)
坑点:注意用vis数组标记走过的路时,要用三维数组(不仅要标记走过的路,还要标记血量)原因:可能直接走这一格要直接死,但是绕一下再走这一格就不会死,不能直接这个格子走过了就不走了,判定该格子走没走过还要判断血量#include <bits/stdc++.h>using namespace std;const int N=100;char c[N][N];int n,m,ans;int vis[N][N][N];int dis[4][2]={{-1,0},{1,0...
2022-04-30 13:55:45
1991
1
原创 L3-2 拼题A打卡奖励 (30 分)-------pta
分析:1下标代表金币,内容代表时间(原因:金币比时间少很多,遍历金币就不会出现超时的情况),同样也就从求最大dp转化为求最小dp(千万不要忘记初始化dp为最大)#include <bits/stdc++.h>using namespace std;const int N=1e3+10;int w[N];int v[525610],dp[525610];dp背包装的是金币,代表的是时间,所以要求的就是在所给时间时长内,得到的最大的金币数int main(){ int n,m;..
2022-04-21 17:56:15
632
原创 1022 kotori和糖果-------牛客
由1e18的数据范围分析知,用优先队列的方法的时间复杂度为n,显然超时,所以这题采用分治的做法(简而言之,二分加递归时间复杂度为log2n#include <bits/stdc++.h>using namespace std;typedef long long ll;map<ll,ll>a;ll suan(ll n){ if(a[n])return a[n];//递归结束,有值的时候返回该值 if(n<=2)return 0;/...
2022-04-21 17:09:59
655
原创 [NOIP2001]求先序排列-------牛客
1011-[NOIP2001]求先序排列_2021秋季算法入门班第二章习题:递归、分治 (nowcoder.com)#include <bits/stdc++.h>using namespace std;string zhong,hou;void deal(int l1,int r1,int l2,int r2){ int pos=-1; if(l1>r1)return ; cout<<hou[r2];//先找根(由分析知,根一定在后序遍
2022-04-15 16:27:24
304
原创 “华为杯“ 武汉大学21级新生程序设计竞赛
"华为杯" 武汉大学21级新生程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)D.和谐之树(线段树)#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=70;ll ma=-1;int pw(ll x){ int c=0; while(x){//判断是不是2的n次方 ..
2022-04-05 20:28:45
588
原创 哈尔滨理工大学第12届程序设计竞赛(同步赛)
哈尔滨理工大学第12届程序设计竞赛(同步赛)_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)1.抓球2.大数据乘法1.抓球#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N=1e7+10;const long long mod=1e9+7;ll x[N];ll pw(ll a,ll b){ .
2022-04-03 23:39:48
391
原创 获取偶数字符串———codeforces
Problem - C - Codeforces题意:给定一个字符串s由小写的字母组成。查找要从字符串中删除的最小字符数ss使它均匀(所有字母均为偶数个,并且连续)。删除的字符不必是连续的#include <bits/stdc++.h>using namespace std;map<char, int>mp;int main() { int n; cin >> n; while (n--) { string s; cin >&
2022-04-01 13:20:57
736
原创 P1024 [NOIP2001 提高组] 一元三次方程求解------洛谷
P1024 [NOIP2001 提高组] 一元三次方程求解 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)#include <bits/stdc++.h>using namespace std;double a, b, c, d;double f[10];double jisuan(double x) { return a * x * x * x + b * x * x + c * x + d;}int main() { //double a,b,c,
2022-03-28 23:56:39
309
原创 2022年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛
目录1.Komorebi的数学课(快速幂)2.1.Komorebi的数学课(快速幂)#include <bits/stdc++.h>using namespace std;typedef long long ll;int main(){ ll n; cin>>n; ll m=n,ans=1,k=n; while(m){ if(m%2==1){ ans=ans*n; .
2022-03-27 18:03:09
2567
5
原创 P1719 最大加权矩形------洛谷
P1719 最大加权矩形 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)#include <bits/stdc++.h>using namespace std;int a[200][200];int qz[200][200];int sum[200][200];int main() { int ma = -1e8; int n; cin >> n; for (int i = 1; i <= n; i++) { for (int j
2022-03-24 12:52:21
503
原创 P1303 A*B Problem(高精度)
P1303 A*B Problem - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)#include <bits/stdc++.h>using namespace std;typedef long long ll;int a[10000], b[10000], c[10000];int main() { string s1, s2; cin >> s1 >> s2; for (ll i = 1; i <= s1.size();
2022-03-18 20:55:38
122
原创 A-B数对-----洛谷
P1102 A-B 数对 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)方法一:桶排序(map映射)思路:由A-B=C知,A-C=C,转换思路知,我们可以求原数组中有多少个满足条件的B,因此我们先 每个数A的个数先统计出来,然后A-C,最后统计原数组中满足条件的B的个数,即原数组中有多少个A-C#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N =
2022-03-18 17:19:34
2460
1
原创 修复公路——洛谷
修复公路 - 洛谷#include <bits/stdc++.h>using namespace std;const int N=1e5+10;typedef long long ll;struct node{ ll x,y,t;}s[N];bool cmp(node a,node b){ return a.t<b.t;}ll f[N];ll n,m;void chushihua(){ for(int i=1;i<=n;i++){ f[i.
2022-03-14 17:49:41
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人