09 2016 档案

摘要:1 //扫描线矩形周长的并 POJ1177 2 // 我是按x轴 3 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 // #include 12 // #include 13 using namespace std; 14 #define LL... 阅读全文
posted @ 2016-09-30 14:25 yyblues 阅读(294) 评论(0) 推荐(0) 编辑
摘要:1 // fft模板 HDU 1402 2 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 using namespace std; 12 #define LL long long 13 typede... 阅读全文
posted @ 2016-09-28 22:28 yyblues 阅读(494) 评论(0) 推荐(0) 编辑
摘要:官方题解: 阅读全文
posted @ 2016-09-27 10:46 yyblues 阅读(293) 评论(0) 推荐(0) 编辑
摘要:1 //把一个序列转换成严格递增序列的最小花费 CF E - Sonya and Problem Wihtout a Legend 2 //dp[i][j]:把第i个数转成第j小的数,最小花费 3 //此题与poj 3666相似 a[i]转换成a[i]-i 4 5 #include 6 #include 7 #include 8 #include 9 #include... 阅读全文
posted @ 2016-09-24 10:24 yyblues 阅读(608) 评论(0) 推荐(0) 编辑
摘要:1 //把一个序列转换成非严格递增序列的最小花费 POJ 3666 2 //dp[i][j]:把第i个数转成第j小的数,最小花费 3 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 // #include 11 using namespace std; 12 #define... 阅读全文
posted @ 2016-09-24 10:21 yyblues 阅读(827) 评论(0) 推荐(0) 编辑
摘要:1 //pick定理:面积=内部整数点数+边上整数点数/2-1 2 // POJ 2954 3 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 #define LL long long 12 typedef pair pii; ... 阅读全文
posted @ 2016-09-22 18:21 yyblues 阅读(629) 评论(0) 推荐(0) 编辑
摘要:1 //凸包稳定性判断:每条边上是否至少有三点 2 // POJ 1228 3 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 #define LL long long 12 typedef pair p... 阅读全文
posted @ 2016-09-22 13:18 yyblues 阅读(357) 评论(0) 推荐(0) 编辑
摘要:1 // 凸包模板 POJ1873 2 // n=15所以可以按位枚举求凸包,再记录数据 3 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 #define LL long long 12 typedef... 阅读全文
posted @ 2016-09-21 21:03 yyblues 阅读(420) 评论(0) 推荐(0) 编辑
摘要:1 // (三角剖分)三角形和矩形的面积交 2016湖南省赛 2 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 12 const int maxn = 555; 13 con... 阅读全文
posted @ 2016-09-20 23:46 yyblues 阅读(633) 评论(0) 推荐(0) 编辑
摘要:1 //三角剖分求多边形面积的交 HDU3060 2 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 12 const int maxn = 555; 13 const int... 阅读全文
posted @ 2016-09-20 23:31 yyblues 阅读(817) 评论(0) 推荐(0) 编辑
摘要:修正一下,加一组样列: n=5,m=1,k=1000 这时候用res的话 必须判m==1 其实可以一起去掉,直接lucas也a 数据太重要了 阅读全文
posted @ 2016-09-18 23:51 yyblues 阅读(1312) 评论(0) 推荐(0) 编辑
摘要:1 // 两个队列+k叉哈夫曼树 HDU 5884 2 // camp题解: 3 // 题意:nn个有序序列的归并排序.每次可以选择不超过kk个序列进行合并,合并代价为这些序列的长度和.总的合并代价不能超过TT, 问kk最小是多少。 4 // . 5 // 题解:首先二分一下这个kk。然后在给定kk的情况下,这个代价其实就是kk叉的哈夫曼树问题。因此直接套用哈夫曼树的堆做法即可。复杂度... 阅读全文
posted @ 2016-09-18 10:51 yyblues 阅读(796) 评论(0) 推荐(0) 编辑
摘要:正方形,已知 (x0,y0) 和(x2,y2) 可以根据下列关系求(x1,y1),(x3,y3) x1+x3 = x0+x2; x1-x3 = y2-y0; y1+y3 = y0+y2; y1-y3 = x0-x2; node[0].p[1].x = ((node[0].p[0].x+node[0] 阅读全文
posted @ 2016-09-16 21:37 yyblues 阅读(1610) 评论(0) 推荐(0) 编辑
摘要:1 // 状压DP uvalive 6560 2 // 题意:相邻格子之间可以合并,合并后的格子的值是之前两个格子的乘积,没有合并的为0,求最大价值 3 // 思路: 4 // dp[i][j]:第i行j状态下的值 5 // j:0表示不合并,1表示向下合并 6 // 一开始输入要修改一下,然后滚动数组优化 7 8 #include 9 #include 10 #incl... 阅读全文
posted @ 2016-09-16 19:41 yyblues 阅读(218) 评论(0) 推荐(0) 编辑
摘要:1 // 区间DP+next求循环节 uva 6876 2 // 题意:化简字符串 并表示出来 3 // 思路:dp[i][j]表示 i到j的最小长度 4 // 分成两部分 再求一个循环节 5 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #i... 阅读全文
posted @ 2016-09-16 11:22 yyblues 阅读(282) 评论(0) 推荐(0) 编辑
摘要:1 //连分数(分数类模板) uva6875 2 // 题意:告诉你连分数的定义。求连分数,并逆向表示出来 3 // 思路:直接上分数类模板。要注意ai可以小于0 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #inc... 阅读全文
posted @ 2016-09-15 15:42 yyblues 阅读(491) 评论(0) 推荐(0) 编辑
摘要:1 // 二分+最短路 uvalive 3270 Simplified GSM Network(推荐) 2 // 题意:已知B(1≤B≤50)个信号站和C(1≤C≤50)座城市的坐标,坐标的绝对值不大于1000,每个城市使用最近的信号站。给定R(1≤R≤250)条连接城市线路的描述和Q(1≤Q≤10 阅读全文
posted @ 2016-09-14 23:05 yyblues 阅读(337) 评论(0) 推荐(0) 编辑
摘要:1 // 叉积判断 POJ1696 2 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 #define LL long long 12 typedef pair pii; 13 const double ... 阅读全文
posted @ 2016-09-12 18:11 yyblues 阅读(196) 评论(0) 推荐(0) 编辑
摘要:1 //树形DP+树状数组 HDU 5877 Weak Pair 2 // 思路:用树状数组每次加k/a[i],每个节点ans+=Sum(a[i]) 表示每次加大于等于a[i]的值 3 // 这道题要离散化 4 5 #include 6 using namespace std; 7 #define LL long long 8 typedef pair pii; 9 co... 阅读全文
posted @ 2016-09-11 12:15 yyblues 阅读(244) 评论(0) 推荐(0) 编辑
摘要:1 //大连网赛 1007 Friends and Enemies 2 // 思路:思路很棒! 3 // 转化成最大二分图 4 // 团:点集的子集是个完全图 5 // 那么朋友圈可以考虑成一个团,原题就转化成用团去覆盖怎样最多。团至少是2个点,所以就是n*n/4 6 7 #include 8 using namespace std; 9 #define LL long l... 阅读全文
posted @ 2016-09-10 20:26 yyblues 阅读(206) 评论(0) 推荐(0) 编辑
摘要:1 //大连网络赛 1006 2 // 吐槽:数据比较水。下面代码可以AC 3 // 但是正解好像是:排序后,前i项的和大于等于i*(i-1) 4 5 #include 6 using namespace std; 7 #define LL long long 8 typedef pair pii; 9 const double inf = 12345678901234... 阅读全文
posted @ 2016-09-10 19:59 yyblues 阅读(254) 评论(0) 推荐(0) 编辑
摘要:1 // 线段和矩形相交 POJ 1410 2 3 // #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std; 11 #define LL long long 12 typedef pair pi... 阅读全文
posted @ 2016-09-09 16:20 yyblues 阅读(508) 评论(0) 推荐(0) 编辑
摘要:1 // 线段相交 poj 1066 2 // 思路:直接枚举每个端点和终点连成线段,判断和剩下的线段相交个数 3 4 // #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 using namespace std; 12 #def... 阅读全文
posted @ 2016-09-09 15:30 yyblues 阅读(197) 评论(0) 推荐(0) 编辑
摘要:1 // 线段相交 POJ 2653 2 // 思路:数据比较水,据说n^2也可以过 3 // 我是每次枚举线段,和最上面的线段比较 4 // O(n*m) 5 6 // #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 us... 阅读全文
posted @ 2016-09-09 14:42 yyblues 阅读(165) 评论(0) 推荐(0) 编辑
摘要:1 // 直线相交 POJ 1269 2 3 // #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std; 10 #define LL long long 11 typedef pair pii; 12 const double inf = 123... 阅读全文
posted @ 2016-09-09 13:10 yyblues 阅读(226) 评论(0) 推荐(0) 编辑
摘要:1 // 欧拉图 CCF2016第六次 送货 2 // 思路: 3 // CCF数据很水。。。。这道题有问题 4 // 先判连通,再dfs边。 5 // 应为输出要满足字典序最小,用vector存图,sort一遍,用stack保存答案 6 7 #include 8 using namespace std; 9 #define LL long long 10 typedef ... 阅读全文
posted @ 2016-09-09 11:24 yyblues 阅读(530) 评论(0) 推荐(0) 编辑
摘要:1 // bfs CCF2016第七次 游戏 2 // 思路: 3 // O(300*100*100) 4 // 直接暴搜 5 // 注意,同一格同一时间不能经过两次!!! 6 7 #include 8 using namespace std; 9 #define LL long long 10 const double inf = 123456789012345.0; 1... 阅读全文
posted @ 2016-09-08 19:15 yyblues 阅读(302) 评论(0) 推荐(0) 编辑
摘要:1 // stl+模拟 CCF2016 4 路径解析 2 // 一开始题意理解错了。。。。 3 4 #include 5 #include 6 #include 7 using namespace std; 8 void fre() {freopen("in.txt","r",stdin);} 9 vector l; 10 int main(){ 11 int ... 阅读全文
posted @ 2016-09-08 13:26 yyblues 阅读(423) 评论(0) 推荐(0) 编辑
摘要:1 // 最短路+线段交 POJ 1556 好题 2 // 题意:从(0,5)到(10,5)的最短距离,中间有n堵墙,每堵上有两扇门可以通过 3 // 思路:先存图。直接n^2来暴力,不好写。分成三部分,起点 终点和之间的点:中间点之间:起点和终点的距离 4 // n最大为18所以直接n^3最短路 5 6 7 #include 8 #include 9... 阅读全文
posted @ 2016-09-08 08:59 yyblues 阅读(237) 评论(0) 推荐(0) 编辑
摘要:1 // 判断线段和直线相交 POJ 3304 2 // 思路: 3 // 如果存在一条直线和所有线段相交,那么平移该直线一定可以经过线段上任意两个点,并且和所有线段相交。 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 1... 阅读全文
posted @ 2016-09-07 21:24 yyblues 阅读(286) 评论(0) 推荐(0) 编辑
摘要:1 // 题意:问你每个区域有多少个点 2 // 思路:数据小可以直接暴力 3 // 也可以二分区间 4 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 using namespace std; ... 阅读全文
posted @ 2016-09-07 09:18 yyblues 阅读(237) 评论(0) 推荐(0) 编辑
摘要:1 // 圆内,求离圆心最远的整数点 hiho一下第111周 Farthest Point 2 // 思路:直接暴力绝对T 3 // 先确定x范围,每个x范围内,离圆心最远的点一定是y轴两端的点。枚举x的范围,再比较y 4 // O(n) 5 6 #include 7 using namespace std; 8 #define LL long long 9 const d... 阅读全文
posted @ 2016-09-06 23:26 yyblues 阅读(339) 评论(0) 推荐(0) 编辑
摘要:1 //2016年CCF第七次测试 俄罗斯方块 2 // 这道小模拟题还是不错 3 // 思路:处理出输入矩阵中含1格子的行数和列数 4 // 再判是否有一个格子碰到底部,否则整体再往下移动一步,如果有一个格子不能移动,要返回到前一步 5 6 #include 7 using namespace std; 8 #define LL long long 9 const dou... 阅读全文
posted @ 2016-09-06 22:42 yyblues 阅读(1998) 评论(0) 推荐(0) 编辑
摘要:1 // trie树 Codeforces Round #367 D Vasiliy's Multiset 2 // 题意:给一个集合,初始有0,+表示添加元素,-去除元素,?询问集合里面与x异或最大的值 3 // 思路:思路很好想,建立trie树,再贪心当前位是1则选0,0则选1 4 5 6 #include 7 using namespace std; 8 #defin... 阅读全文
posted @ 2016-09-06 13:55 yyblues 阅读(300) 评论(0) 推荐(0) 编辑
摘要:1 // 十字链表 Codeforces Round #367 E Working routine 2 // 题意:给你一个矩阵,q次询问,每次交换两个子矩阵,问最后的矩阵 3 // 思路:暴力肯定不行。我们可以每个元素建立十字链表,记录右边和下边的元素,和每个元素的下标(从0开始),每次询问只需要交换四条边的指向即可。 4 // 本题要建立(n+1)*(m+1)的矩阵 5 6 #... 阅读全文
posted @ 2016-09-06 13:35 yyblues 阅读(423) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示