![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
寒假算法训练2
yuson_g
这个作者很懒,什么都没留下…
展开
-
寒假算法训练2-E
Sample Input3234Sample Output122原创 2021-03-03 15:51:50 · 84 阅读 · 1 评论 -
寒假算法训练2-I(取糖果最值,且为k的整数倍)
Sample Input5 712345Sample Output14思路:难度中等偏上的dp题。关键是状态转移方程:dp[i][j]=max(dp[i-1][j],dp[i-1][(j-a[i]%k+k)%k]+a[i])i为选到第i堆糖果,j为选到第i堆糖果时以j为余数的此时的所取得的糖果的最大值。为保证加入第i堆糖果时余数为j,需要进行两次取余处理。初始化也很关键:选到第0堆糖果时,余数为非0的均为-inf,因为也不可能存在别的余数。#include <bits/s.原创 2021-03-03 08:48:52 · 201 阅读 · 0 评论 -
寒假算法训练2-J(经典的报数问题)
Sample Input3Sample Output2思路:已经移除的同学标记为0即可。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1e6+20;int n,m,a[maxn];template<class T> T read(){ T f=1,k=0; char c=getchar(); while(c<'0' || c>'.原创 2021-03-02 21:45:23 · 108 阅读 · 0 评论 -
寒假算法训练2-J(马有几种走完棋盘上点的路径)
思路:典型的dfs问题。注意回溯以及x和y的方向问题!(输入几行几列时,cin可以省去相对于scanf要去除回车的步骤)#include <iostream>#include <string.h>using namespace std;int vis[100][100];int dis[8][2] = {1,2,2,1,-1,2,-2,1,-1,-2,-2,-1,1,-2,2,-1};int m,n,sx,sy,sum,ans;void dfs(int x,int .原创 2021-03-02 21:28:18 · 110 阅读 · 1 评论 -
寒假算法训练2-H(阿福洗劫商店问题)
Sample Input231 8 2410 7 6 14Sample Output824思路:动态规划。对于一家店铺,阿福的选择有洗劫和不洗劫。动态转移方程为dp[i]=max(dp[i-2]+a[i],dp[i-1])。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=1e5+20;int t,n,a[maxn],dp[maxn];//dp[i]表示盗取.原创 2021-03-02 21:12:04 · 121 阅读 · 0 评论 -
寒假算法训练2-G(李逍遥买药,典型bfs模板题)
Sample Input8 8.@##…##…#.##.#.##……#.###.#.#…#.…###.#.…#.*….#…###Sample Output10思路:典型bfs题。套用模板即可,注意x,y的方向问题!#include <iostream>#include <queue>using namespace std;const int MAXN=30;queue<pair<int,int> > q;int dis[4.原创 2021-03-02 20:54:14 · 135 阅读 · 0 评论 -
寒假算法训练2-B(开花题,map的简单应用)
思路:使用map。Sample Input4 45 1 7 32 3 4 1Sample Output1 3#include <map>#include <iostream>using namespace std;map<int,int> mp;int main(){ int n,m,t,a[100050]; cin>>n>>m; for(int i=0;i<n;i++) { .原创 2021-03-02 18:42:42 · 64 阅读 · 0 评论 -
寒假算法训练2-A(找两个数是否等于给出的数)
Sample Input42 5 1 46Sample Output1 5思路:将所有数字排序,从两个端点开始求和,直到找到符合的数字或者左端点大于等于右端点为止。#include <bits/stdc++.h>using namespace std;typedef long long ll;const int maxn=100005;int read(){ int f=1,k=0; char c=getchar(); while(c<'.原创 2021-03-02 18:09:43 · 79 阅读 · 0 评论