
签到
_bcxbg_
这个作者很懒,什么都没留下…
展开
-
Leetcode 1.两数之和
Leetcode 1.两数之和【解一】就。。第一眼就很直接很暴力,两层循环遍历两个数配一下,和等于target就return坐标。然后注意一下题目说不能用同一元素,再加上我内外两层找到的元素ab,再遍历到ba的时候其实已经判断过了,这没必要,所以直接规定内层循环的元素要在外层循环的后面就好了(一个右上三角形)。class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: for i原创 2021-12-01 21:39:00 · 1123 阅读 · 0 评论 -
7.8.实验 解题参考
ProblemA(HDU2084) 这题题目都说了经典DP 由上往下推,由于结果状态多,不好处理。无疑由底往上推比较方便,都归于一个起点,只需要算出由底往上得到的最大价值即可。 方程:dp[i][j] = max(dp[i+1][j],dp[i+1][j+1])+a[i][j];#include <stdio.h>#include <string.h>#include <algorithm原创 2016-07-08 11:11:11 · 372 阅读 · 0 评论 -
7.7.实验 解题参考
ProblemA(HDU2037) 这道解题,是希望看到节目尽可能多,那么安排好前面的节目后,如果剩下的时间更多,能选择的节目就更多。 所以贪心策略是对每个节目的结束时间排序,目的是使剩余时间留下,再判断还能看几个节目。对节目时间的排序结束后,依次判断,这次要看的节目的开始时间是否大于上次看的节目的结束时间,若是大于,则这个节目时可以完整观看的,若是小于则是不能完整观看的,所以跳到下一个节目继续原创 2016-07-07 12:42:48 · 319 阅读 · 0 评论 -
7.6.实验 解题参考
ProblemD(HDU2111) 这是一个经典的部分背包,由于物品都是可分割的,当然是用贪心的思想,单位价值越高越好。则先按单价排一次序,从头开始取,如果能装下就全部装进包里,否则将该物品分割开尽可能多的装。#include<cstdio>#include<iostream>#include<algorithm>using namespace std;typedef struct nod原创 2016-07-06 12:23:24 · 326 阅读 · 0 评论 -
7.5.实验 解题参考
Problem-A(HDU1157) 排序水题,将输入数据排序用一次sort,输出中位数即直接输入第n/2个位置上的数。#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int a[10010];int main(){ int n; while(scanf("%d",&n)!原创 2016-07-05 11:28:35 · 334 阅读 · 0 评论 -
7.14.实验 解题参考
ProblemA(HDU1215) ProblemB(HDU1286) 这两题是上课例题,不再赘述了。 ProblemC(HDU1406) 【一】这题的数据可以直接判断,在num1和num2之间的数是否符合要求。但有个巨坑需要注意,num1和num2不一定是大小顺序给出的!! 【二】但既然学会了筛选法,很明显可以看到这题先预处理,将10000以内的数据先用判断函数跑一遍,存表再做会有更高的原创 2016-07-14 12:12:28 · 250 阅读 · 0 评论 -
7.13.实验 解题参考
ProblemA(HDU1398) 给你一个数 让你求出1~17中每个数的平方任意组合 有几种情况满足条件。套母函数就行,注意是数的平方,k要写成i*i。#include<stdio.h> #include<math.h> #define max 302 int num1[300]; int num2[300]; void init() { for(int原创 2016-07-13 11:11:18 · 271 阅读 · 0 评论 -
7.11.实验 解题参考
ProblemA(HDU1008) 直接模拟,每个请求根据状态累计时间。#include<iostream>#include<cstdio>using namespace std;int main(){ int n; int a[1000]; while(scanf("%d",&n)!=EOF && n) { int i; for(i=0;i<n;i原创 2016-07-11 13:01:03 · 327 阅读 · 0 评论 -
Contest 5 1007 MZL's simple problem
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5349因为删除操作每次只删最小的,而查询操作每次只问最大的,所以可以不必保留数据,只记录总数和更新最大数即可。 要注意考虑总数为0,即删除空了时对数据的影响。#include<iostream>#include<cstdio>int main(){ int n,sum,m,op,x;原创 2015-08-07 18:35:19 · 280 阅读 · 0 评论 -
Contest 5 1005 MZL's chemistry【打表= =】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5347打表。。。= =#include<iostream>#include<cstdio>using namespace std;float f[87]={0,1312,2373.3,520.2,899.5,800.6,1086.5,1402.3,1313.9, 168原创 2015-08-07 18:30:47 · 220 阅读 · 0 评论 -
Contest 4 1002 Problem Killer【等差等比数列】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5328#include<iostream>#include<cstdio>using namespace std;long long a[1000010];int main(){ int t,n,i,j,m; scanf("%d",&t); while(t--)原创 2015-08-04 20:51:45 · 276 阅读 · 0 评论 -
Contest 4 1001 Olympiad【拆数】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5327#include<iostream>#include<cstdio>using namespace std;int make(int k){ int j; bool flag; int f[10]; for(j=0;j<=9;j++) f[j]=0;原创 2015-08-04 20:39:09 · 270 阅读 · 0 评论