ACM题
TTchengcheng
压力其实没那么大的死肥宅
展开
-
hdu 2602 bone_collector
#include //please use C++ compiler#define maxn 1005//obviously 0-1bagsint main(){ int T,n,V,i,j,dp[maxn],w[maxn],v[maxn]; scanf("%d",&T); while(T--) { memset(dp,0,sizeof(dp原创 2015-12-10 16:46:03 · 387 阅读 · 0 评论 -
acmcoder计算器新功能--Java版
这题不难,挺麻烦的 ,还有点小坑//package D201804;/** * @坑都在这里了: * 数字1的两个‘|’在后一列 * 乘号是5*1的矩阵 */import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * Created by JesseWong * 2018/...原创 2018-04-01 16:20:03 · 641 阅读 · 0 评论 -
HDU1051 WoodenStricks (贪心+DP)
解题思路:(贪心算法 + 动态规划——单调递增子序列) 1.首先将木棒排序,总体为l递增排序,若l相等,则w递增。2.对第i个木棒处理:选出单调递增子序列,并将单调递增子序列标记为1(使用过)。选出后,时间+1.进行第i+1个木棒的处理参考了@飘过的小牛的解题思路 ,附我自己的代码。不懂请看这篇博文http://blog.csdn.net/niushuai666原创 2016-07-19 11:45:57 · 698 阅读 · 0 评论 -
初学DFS搜索,N皇后问题,简单易懂
DFS 搜索 N皇后问题原创 2016-05-03 20:29:48 · 594 阅读 · 0 评论 -
初学DFS:HDU1241 Oil deposits
这题做了几小时,怪自己粗心注意题目给出的最后一组数据M后面多了一个空格,不要直接复制,我就是直接复制过来写成文件调试,坑死了#include #include #include //#define testusing namespace std;char vis[105][105];int cnt;int M,N;int dir[8][2] = {{0,1},{1,0}原创 2016-06-01 20:55:05 · 393 阅读 · 0 评论 -
HDU 1249 三角形
题目分析:当已经有k-1个三角形时,加入一个三角形,每一条边穿过k-1个三角形的其中一角,则已有的k-1个三角形的每一个角都被分成了k-1个,因为每加入一个三角形,原来已有的三角形的每一个角都会被多分成一份。而新加入的三角形的一角,被k-1个角中的每两个角分割出一个新三角形(共k-2个),加上角本身的大区域,所以一角被分成了k-1份。这时图中有k个三角形,每个三角形3个角,每个角被分成了k-1份,转载 2015-12-08 17:46:11 · 437 阅读 · 0 评论 -
对拍调试
做ACM题时如何确定自己算法是否正确,可以采用可靠的暴力算法与最优算法结果相对比的方法请看该帖http://m.blog.csdn.net/blog/churehill123/19647579转载 2015-12-05 23:24:30 · 418 阅读 · 0 评论 -
2015广东工业大学新生赛决赛 Problem I: Stubird说这是水题
//2015广东工业大学新生赛决赛//Problem I: Stubird说这是水题//思想很简单,只要有相同的数,就可以用同一竖直列来,不同的话就需要分别的两竖直列来表示#include #include int main(){ int T,i,j,m,n,a[205],b[205]; scanf("%d",&T); while(T--) {原创 2015-12-05 23:04:54 · 1586 阅读 · 0 评论 -
HDU1176 免费馅饼 经典DP
题目 地址http://acm.hdu.edu.cn/submit.php?pid=1176类似i数塔问题,从下往上找核心思想:dp[j][i]+=max(dp[j+1][i],dp[j+1][i-1],dp[j+1][i+1])完整代码#include #include #include #define maxn 100005int dp[maxn][11];i原创 2015-12-21 21:03:26 · 1056 阅读 · 0 评论 -
HDU 1215 求N的因子之和
首先是暴力破解优化,最先想到的#include #include int main(){ int n,m,i; scanf("%d",&n); while(n>0) { n--; scanf("%d",&m); int sum=1,t=sqrt(m);//暴力2-sqrt(m)所有数不会超时,1-m/2原创 2015-12-03 20:02:01 · 533 阅读 · 0 评论 -
HDU 2048 数塔 动态规划
#include //#include int main(){ int i,j,m,n,a[101][101],dp[101][101]; scanf("%d",&m); while(m>0) { m--; scanf("%d",&n); for(i=0; i<n; i++) for(j=原创 2015-12-01 18:02:17 · 628 阅读 · 0 评论 -
HDU 1029 Ignatius and the Princess IV
/*多元素即在数列中出现次数多于n/2的元素 ————采用这个方法的前提我们很容易的看出来,在一个序列中如果去掉2个不同的元素,那么原序列中的多元素,在新的序列中还是多元素,因此我们只要按照序列依次扫描,先把t赋值给result,增加个计数器,cnt = 1;然后向右扫描,如果跟result相同,则cnt++,不同,那么cnt --,这个真是我们从上面那个结论里得出的,一旦cnt转载 2015-12-01 21:28:08 · 373 阅读 · 0 评论 -
hdu 1273 森林漫步
原题链接点击打开链接原理看到数据中的 (0找规律:因为 任意两块空地之间都有一条小径相通 ,所以每个空地度都是一样的 为n-1;二要形成一个环路需要一进一出两度,故 次数为(n-1)/2;#includeint main(){ int n; while(scanf("%d",&n),n!=0) printf("%d\n",(n-1)/2);原创 2015-12-01 19:00:55 · 493 阅读 · 0 评论 -
HDU 5538 house building
就是求表面积,我是用侧面积+加上面积的方法4*方块数是总的侧面积,减去接触面就等于实际侧面积看代码#include #include int main(){ int squire,m,n,t,a[50][50]; scanf("%d",&t); while(t>0) { int i,j,topsum=0,sum=0;原创 2015-12-01 20:13:34 · 623 阅读 · 0 评论 -
(hash)hdu 1496 Equations
//引用冬月之神的帖子,尊重原创,传送门EquationsTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 899 Accepted Submission(s): 356Problem Descrip转载 2015-12-15 17:24:26 · 401 阅读 · 0 评论 -
acmcoder 接金币 java实现
package Y2018.M04.D04;import java.util.Scanner;/*小赛非常喜欢玩游戏,最近喜欢上了一个接金币的游戏。在游戏中,使用帽子左右移动接金币,金币接的越多越好,但是金币掉到地上就不能再接了。为了方便问题的描述,我们把电脑屏幕分成11格,帽子每次能左右移动一格。现在给电脑屏幕如图标上坐标:也就是说在游戏里,金币都掉落在0-10这11个位置。开始时...原创 2018-04-04 16:16:36 · 929 阅读 · 0 评论