
ACM
文章平均质量分 51
Tsaryu
这个作者很懒,什么都没留下…
展开
-
HDU2795 线段树
题目大意: 学校里有个公告栏,公告栏h*w面积,也就是高h,宽w。现在有一些广告需要贴,广告高度都是1,广告尽量往左,往上贴。给你n个广告,问你这个广告在第几层。题目分析: 按照线段树的做法,首先利用h建树,每个结点存储的是该位置和剩余的空间,若左子树的最大值大于他,就查询左子树,否则查询右子树;父结点存储左右子节点的最大剩余值。#include#inclu原创 2016-09-23 22:46:40 · 395 阅读 · 0 评论 -
杭电OJ 2546(饭卡)【01背包】
饭卡Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 37373 Accepted Submission(s): 12836Problem Description电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一...原创 2018-03-03 16:12:20 · 529 阅读 · 0 评论 -
Bone Collector(dp46)【01背包】
Bone CollectorTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 73112 Accepted Submission(s): 30444Problem DescriptionMany years ago , in Teddy...原创 2018-03-03 16:44:40 · 239 阅读 · 0 评论 -
hdu 2571 命运(DP)
命运Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 21201 Accepted Submission(s): 7385Problem Description穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到,yifenfei...原创 2018-03-04 16:47:58 · 258 阅读 · 0 评论 -
P2404 自然数的拆分问题(简单dfs)
题目背景任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。题目描述任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。输入输出格式输入格式: 输入:待拆分的自然数n。 输出格式: 输出:若干数的加法式子。 输入输出样例输入样例#1: 复制7输出样例#1: 复制1+1+1+1+1+1+11+1+1+...原创 2018-08-15 10:33:28 · 1950 阅读 · 0 评论 -
全排列问题(DFS求解 | STL函数)
1.利用dfs求全排列#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int maxn = 100;int vis[maxn];int a[maxn];int cnt;int dfs(int n){ if(cnt == ...原创 2018-08-15 11:11:31 · 408 阅读 · 0 评论 -
浅谈汉诺塔问题(递推 | 递归)
有N个圆盘,依半径大小(半径都不同),自下而上套在A柱上,每次只允许移动最上面一个盘子到另外的柱子上去(除A柱外,还有B柱和C柱,开始时这两个柱子上无盘子),但绝不允许发生柱子上出现大盘子在上,小盘子在下的情况,现要求设计将A柱子上N个盘子搬移到C柱去的方法。 分析:首先我们来手动模拟一下: 从简单的问题开始算起:假设只有一个圆盘在A杆,那我直接从A到B,一步操作即...原创 2018-08-08 11:37:37 · 1844 阅读 · 1 评论 -
总结string类型的一些操作
string数据类型能够在字符串模拟题目中得到很大的方便,有很多特别实用的操作,比如查找、替换、将字符串类型换成int型等 1.输入: string数据类型输入有很多种方式.(1)如果我们要每次输入一个单词(不含空格),可以直接用cin>>s1;(2)如果我们每次要输入一句话呢?包含空格,遇换行符结束。这个时候我们可以采用getline。 ...原创 2018-08-13 15:13:23 · 369 阅读 · 0 评论 -
素数环(暴力深搜)
#include <bits/stdc++.h>using namespace std;int a[30]={0};int vis[22]={0};int counts = 0;int prim(int n){ for(int i = 2 ; i < n; i++) { if(n % i == 0) return 0; } return 1;...原创 2018-08-13 17:00:09 · 574 阅读 · 0 评论 -
CCF 20171203(商路)
题目分析: 题目很长,有点儿不理解,后来看人家的代码,边看边调,才知道自己误解了题目的意思。 本来想着应该是dp,就是每个城市的商路最大价值是它的下级中的最大价值或者是它到其中一个城市的价值。后来发现不可以是取它下级中的最大价值,因为这个城市的商路最大价值是有可能小钰它下级的最大价值的。所以应该在每一个最后的没有下级的城市向上遍历它的上级,即不断更新如果上级直接到这个城市的最大价值。 ...原创 2018-03-16 16:28:15 · 1067 阅读 · 0 评论 -
DP专题 DP46
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋);正确的方程...转载 2018-03-02 16:40:41 · 994 阅读 · 0 评论 -
HDU2544 最短路(迪杰斯塔拉算法)
最短路Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 78117 Accepted Submission(s): 33962Problem Description在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但...原创 2018-03-09 23:32:19 · 529 阅读 · 0 评论 -
hdu 1250 高精度加法(类斐波那契)
题目大意:首先题目给出一个十分相似于斐波那契数列的一个数列规则,在这个数列中,前四个数字为1,当下标大于4时,则此数等于前面四个数之和。因为题目要求是答案不超过2000位,所以很容易发现是考察高精度的问题。本来这种斐波那契的题目都是打表来做,但是刚开始感觉无从下手,如果不打表感觉也会超时,后来想到用二维数组f【m】【n】,代表第m个数的第n位的数字。额,感觉也是用了打表,然后就是普通 的高精度了。原创 2016-10-13 12:30:35 · 969 阅读 · 0 评论 -
万能头文件#include<bits/stdc++.h>(转)
转自:http://www.cnblogs.com/Kiven5197/p/5745589.html最近在打cf时赛后翻阅别人的代码总是会发现一个陌生而奇怪的头文件#include奇怪之处就在于基本上所有的代码只要用了这个头文件就不再写其他头文件了。百度过后仿佛打开了新世界的大门,头文件居然还可以这样用!!!#include包含了目前c++所包含的所有头转载 2017-02-19 11:47:56 · 3229 阅读 · 1 评论 -
按位与、或、异或等运算方法(转载)
转载自 http://blog.sina.com.cn/s/blog_618199e60100ka5b.html按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5 即 0000 0011 &转载 2017-02-13 18:14:19 · 394 阅读 · 0 评论 -
G++和C++的区别(oj中)
oj 中G++和C++区别转自http://www.cnblogs.com/dongsheng/archive/2012/10/22/2734670.html1、输出double类型时,如果采用G++提交,scanf采用%lf,prinf采用%f,否则会报错2、使用GCC/G++的提醒:对于64位整数, long long int 和 __int64 都是支持并且等价的转载 2017-02-04 12:10:46 · 509 阅读 · 0 评论 -
利用搜索实现全排列
#include #include #include #include using namespace std;int n;int vis[10],a[10];void dfs(int pos){if(pos == n){for(int i=0;icoutcout }for(int i=1;i{if(vis[i] == 0)原创 2018-01-22 22:24:39 · 405 阅读 · 0 评论 -
蓝桥杯 剪格子 (搜索)
历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 问题描述如下图所示,3 x 3 的格子中填写了一些整数。+--*--+--+|10* 1|52|+--****--+|20|30* 1|*******--+| 1| 2| 3|+--+--+--+我们沿着图中的星号线剪开,得到两个部分,每个部分原创 2018-01-25 15:08:36 · 335 阅读 · 0 评论 -
蓝桥杯 小朋友排队 (树状数组+逆序对)
问题描述 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即不高兴程度为3),依次类推。当要求某个小朋友第k次交换时,他的不高兴程度增加k。原创 2018-01-26 16:42:07 · 351 阅读 · 2 评论 -
HDU 3790 (最短路径 dijsktra)
最短路径问题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 32038 Accepted Submission(s): 9431Problem Description给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,...原创 2018-03-09 23:25:20 · 368 阅读 · 0 评论 -
P2307 迷宫代码
#include<bits/stdc++.h>using namespace std;char map[1001][1001];//_map数组保存地图 int flag[1001][1001],a[1000001];//a数组要开大一点,刚开始开a[1001]错了3个点 //flag数组保存各个点所在的连通图,以及是否已经处理过,a数组保存各个连通图的大小struct m...转载 2018-08-28 11:13:29 · 555 阅读 · 0 评论