上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 38 下一页
摘要: 数位DP 1 #include 2 #include 3 #include 4 #include 5 #include 6 #define LL __int64 7 using namespace std; 8 9 LL dp[30][3];10 LL a[30];11 LL n;12 ... 阅读全文
posted @ 2015-02-06 22:27 chenjunjie1994 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 第一次做数位DP,有点摸不着头脑,嗯,参考了别人的之后隔了大半天自己再写的dp[i][0],表示不存在不吉利数字 dp[i][1],表示不存在不吉利数字,且最高位为2 dp[i][2],表示存在不吉利数字具体能自己理解代码的#include #include #include #include #i... 阅读全文
posted @ 2015-02-06 19:33 chenjunjie1994 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 只能说感觉是三分吧,因为两端值肯定是最大的,而中间肯定存在一点使之最小,呃,,,,猜 的。。。#include #include #include #include #include #define LL __int64using namespace std;const int N=50050;do... 阅读全文
posted @ 2015-02-06 10:53 chenjunjie1994 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 想了很久,发现其实就只需要三分枚举圆上的点,到矩形的最短很容易就可以求到了。开始时考虑要不要根据矩形相对圆的方位来划分枚举区间,后来发现一定不能这样做的。注意题目给的是矩形的对角形,但没说哪一条对角线哦,所以,注意。。。被这坑了好久。。#include #include #include #incl... 阅读全文
posted @ 2015-02-06 10:02 chenjunjie1994 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 很简单的一题,注意墙上的影子是放大就行。用三分。#include #include #include #include using namespace std;double H,h,D;double cal(double x){ return x+(h-x/D*H)*D/(D-x);}int mai... 阅读全文
posted @ 2015-02-05 21:58 chenjunjie1994 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 很容易就想到把三维转化成了二维,求出点离Z轴的距离,把这个距离当成X坐标,Z轴当Y坐标,然后就变成了求一个直角三角形覆盖这些点像上一题一样,确定斜率直线的时候,必定是有一点在线上的。于是,可以把直线看成垂直X轴,按角度旋转点即可。也有二分高度的做法。#include #include #includ... 阅读全文
posted @ 2015-02-05 21:18 chenjunjie1994 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 开始就是瞄着三分来做的,但看题目,感觉是旋转卡壳吧。。可是,用了旋转卡壳还三分条毛啊。。可以令正方形不旋转,而改为令点绕原点旋转,这样,很好的解决了问题,就可以比较X轴最大长度和Y轴最大长度来确定正方形的边长了。然后三分旋转角度就可以了。#include #include #include #inc... 阅读全文
posted @ 2015-02-05 12:35 chenjunjie1994 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 果然是你存我我深深的脑海里,思路有了,调了那么久,进水了。。。三分一边后,嵌套三分另一边。#include #include #include #include using namespace std;const double eps=1e-6;struct Point{ double x,y;};... 阅读全文
posted @ 2015-02-05 10:12 chenjunjie1994 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 第一道三分题,有模板#define eps 10e-6double cal(){}//计算题目所需要的值while(l+eps#include #include #include using namespace std;const double PI=3.141592653;const double... 阅读全文
posted @ 2015-02-04 21:44 chenjunjie1994 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 看了题解那个弱化版后,马上就去做了HDU 3333这道题,发现有可用的地方。于是往这方面想,主要是处理如何确定一个数出现K次的问题。想到了从左往右把每个数出现的次数记下来,但感觉不是这样,呃,再看别人做的,真的是这样的--!主要是处理一个数出现K次后的情况,把每个数出现的位置记录下来,当出现大于等于... 阅读全文
posted @ 2015-02-04 15:15 chenjunjie1994 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 和上题HDU 3333一样。#include #include #include #include #include #define LL __int64#define lowbit(x) ((x)&(-x))using namespace std;const int N=60050;const i... 阅读全文
posted @ 2015-02-04 13:37 chenjunjie1994 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 求一个区间内不同数的和。这相当于求一个区间的不同数的个数。使用树状数组,离线算法,离散化,把所有要询问的区间读入,然后按区间的右端点排序。对数组从左往右扫描,设当前数字为V,记录下V上一次出现在数组的位置last[V],然后把上一次的位置last[v]在树状数组减去V,在当前位置加上V。当扫描到区间... 阅读全文
posted @ 2015-02-04 12:45 chenjunjie1994 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 这道题写起来没难度,但这种题确实很难,这种字符串的题难在证明。以后也要注意。奇偶性不同的字符串肯定不能转换,因为每一次交换都是字符串的和增加2。当字符串长度为2时,可以模拟交换,最多26次。否则,任选三个字母(x1,x2,x3)->(x1+1,x2,x3+1)......(1)而且还有(x1,x2,... 阅读全文
posted @ 2015-02-03 22:18 chenjunjie1994 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 思路是在看电视时突然想到的。枚举区间,然后按树形DP来选择最大值看是否满足条件。但枚举区间时的方法低效,看了题解,说枚举区间可以设两个指针逐步移动,开始 l = r = 1, 记录已经出现的国家。判断是否满足条件。如果满足,更新答案,更新区间出现的国家,l++, 一直到不满足。如果不满足,更新区间出... 阅读全文
posted @ 2015-02-03 15:21 chenjunjie1994 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 利用分式的性质可以很容易证明要求的是个三角形,这很简单。对于求三角形内的雷的个数,只需求出每条边上方有多少个雷,作一点运算即可。如A,B,C(B是X轴坐标在中间的点),则AC(其上方的雷的个数)-AB-BC即可。 1 #include 2 #include 3 #include 4 #incl... 阅读全文
posted @ 2015-02-03 09:48 chenjunjie1994 阅读(160) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 38 下一页