自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 巨石滚滚-思维贪心

H 「土」巨石滚滚题意:土球有一个稳定值m,当m<=0立即解体。每个障碍有破坏a,恢复b两个属性,当撞向一个障碍时要求a>m,稳定性损失m=m-a,撞完后然后稳定性恢复m=m+b。给出m和所有障碍的a,b,判断是否有一个可以经历所有障碍不解体的障碍出现次序。解法:贪心。首先先去撞b-a>0的障碍,因为撞这些m会增加,m到最大后再去撞b-a<0的障碍。b-a>0:按...

2019-11-30 22:36:29 298

原创 阶乘分解质因子

分解质因子:求n的所有质因数 for(int i=2;i*i<=x;++i){ if(x%i==0){ while(x%i==0) x/=i; num[++cnt]=i; } }阶乘分解质因子:比如求9!中质因子的个数:2的个数=9/2+9/(22)(2^2)(22)+9/(23)(2^3)(23)=4+2+1=7因为  包含因子 2:2,4,6,8:...

2019-11-26 21:17:24 153

原创 三维偏序

一维偏序排序求,二维权值树状数组,三维cdq,n维套cdq学习博客:多维偏序 模板题:P3810 【模板】三维偏序(陌上花开)cdq:先按a全排序,然后按b归并排序,归并过程中,做双指针按b再利用权值树状数组统计左儿子中比每个右儿子中的元素c小的个数(先递归左右儿子,再处理这一层,所以左儿子的a一定小于右儿子的a)#include<bits/stdc++.h>using n...

2019-11-26 21:02:07 227

原创 会场预约-set判重

P2161 [SHOI2009]会场预约在set判重时,判断两个元素相等的条件是a不<b且b不<a。这样的话两个元素如果l,r之间有重合就会被判为相同。friend bool operator <(const ac& a1,const ac &a2){ return a1.r<a2.l;}当两个区间相交时,会被认为是相同的。ac代码#incl...

2019-11-25 20:07:28 108

原创 P2801 教主的魔法-分块+二分

P2801 教主的魔法#include<bits/stdc++.h>using namespace std;const int maxn=1e6+7;int block,num,L[maxn],R[maxn],belong[maxn];int lazy[maxn],a[maxn],b[maxn],c[maxn]; //a排序,b临时,c原数组int n,q;int Lo...

2019-11-25 20:00:30 86

原创 数据结构模板---可持久化

可持久化权值线段树(主席树)P3919 【模板】可持久化数组(可持久化线段树/平衡树)#include<bits/stdc++.h>using namespace std;const int maxn=2e5+10;struct node{ int s,l,r;}t[maxn*40];int rt[maxn],a[maxn],cnt;vector <int&gt...

2019-11-21 21:25:38 274

原创 cf刷题日志

E1. Send Boxes to Alice (Easy Version) E2. Send Boxes to Alice (Hard Version)easy和hard都没想出来怎么贪心。首先对于k1<k2k_1<k_2k1​<k2​,且k1∣k2k_1|k_2k1​∣k2​,可以显然得到结论1:把所有数组合为k1k_1k1​比k2k_2k2​步骤少。在某一区间之和等...

2019-11-21 17:18:04 222

原创 吃奶酪-dp状压

P1433 吃奶酪dfs模板题,也可以用状压写。#include<bits/stdc++.h>using namespace std;double dp[100000][20];double x[20],y[20];double dis[20][20];int n;double getdis(int a,int b){ return sqrt((x[a]-x[b...

2019-11-19 11:45:11 182

原创 几何模板

scan凸包叉积,极角排序#include<bits/stdc++.h>using namespace std;const int N=1e4+10;const double eps=1e-15;int tot,n;typedef struct Point{ double x,y;}Vector;Point a[N],p[N];double Distanc...

2019-11-17 13:04:24 70

原创 hustoj新生赛-模拟题

对没错是新生赛题,wa了五次,写了快两小时情况很多:23,14,5,1…1,112,12,22,2,113,13,3,4。很多情况是不会同时出现。#include<stdio.h>#include<string.h>int num[6];int main(){ int n,x; while(scanf("%d",&n)!=EOF&amp...

2019-11-17 12:58:18 290

原创 八码数-IDA*算法

A是用在BFS上的 A=优先队列+估价函数IDA是用在DFS上的 IDA=迭代加深+估价函数一般来说IDA优于A主要在A的BSF内存的需求,且不需要对启发值排序。我是更喜欢用IDA*。IDA*相对于DFS有两个特点:运用了迭代加深的思路和乐观函数。具体原理我怕讲不清楚,推荐阅读:  算法思想:迭代加深A算法 和 IDA算法 看题吧:HDU1043—Eight给出一个3×33...

2019-11-16 21:05:00 1012 1

原创 数据结构-分块

卿学姐与公主当然这也是一道线段树模板图第一次写分块:#include<bits/stdc++.h>using namespace std;const int maxn=100010;int block,num,L[maxn],R[maxn],belong[maxn];long long Max[maxn],a[maxn];int n,q;void Build(){...

2019-11-13 21:32:34 110

原创 bitset-状压应用

C++的 bitset 在 stl库中,它是一种类似布尔数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。(bool虽然只有一位有效,但却占一字节)定义方式:bitset<5> bs; //长为len的二进制,len个0bitset<4> bs("10100"); //自取前4位1010 函数:bs.count(); // count函数用来...

2019-11-12 00:43:08 152

原创 小阳买水果-区间贪心

小阳买水果需要枚举区间的左右端点,但是区间太多了.我们用前缀数组来表示区间v[r],然后我们给v[r]数组保存原位置并按从值从小到大排序,那么排序后右边的一定大于左边的,如果左边右端点小于右边的右端点,说明在这个一段连续可以买。因为排序过了,两个右边减左边一定大于0,所以遍历时记录端点最小值,只要后面的端点大于前面端点最小值,就比较更新。因为是大于等于零,不能为0,所以排序时当大小相等时,让位置...

2019-11-10 20:44:26 120

原创 HH的项链-区间模拟

P1972 [SDOI2009]HH的项链树状数组的作用类似于桶需要离线,把查询区间的右端点升序排列,因为n=1e6,所有所有点只能遍历一次。遍历每个区间,定义一个now表示枚举到的点,当now<=ques.r时,看将a[now]之前出现的位置的桶减去1,在这次位置加上1,查询答案就是树状数组query®-query(l-1),这样保证所有桶,a[now]只有一个贡献。由于区间排序按r...

2019-11-09 16:55:46 124

原创 训练赛(一)

A. Forsaken喜欢独一无二的树用到了卡鲁斯卡尔算法的性质,每次找权值相同且可以加到生成树的边,加入应该加入的边后,即原图上任意一个唯一生成树上的边(并查集可以不用考虑先后顺序),其他原本可以加入的边不用再加入了,说明这是一条可以删除的边。(原来只会prim算法,所以没有往这个思路上靠)#include<iostream>#include<stdio.h>#i...

2019-11-09 15:04:32 144

原创 Comet-contest #14-C

题目链接:序列题意:一开始有一个长度为n的全0串,m次操作,每次操作:第i次操作,先将原来的每一个串复制成两个相同的串,再把相同的两个中的一个l,r区间修改为i。对于一个串含有「极大连续段」即为区间[l,r]相同。求解每次操作结束后所有串的所有「极大连续段」之和解析:定义一个函数f(x)f(x)f(x)表示含有以x(1<=x<=n)位置为「极大连续段」的结束点的串个数。对于每...

2019-11-09 00:21:27 80

原创 Consumer-简单依赖背包

HDU-3449先枚举箱子,在枚举箱子里的物品,把同一箱子里的物品当做01背包处理(不带箱子的费用):   temp[ww]=max(temp[ww],temp[ww−stup]+stuv)temp[ww]=max(temp[ww],temp[ww-stup]+stuv)temp[ww]=max(temp[ww],temp[ww−stup]+stuv)每次枚举箱子结束,将得到的值再算上...

2019-11-06 14:03:15 139

原创 Doing Homework-状态压缩DP

HDU1074一开始想到这样枚举,但是开数组唯一表示的话,当N=15时太大了,且DP时不容易找到对应的上一状态。所以用状态压缩的方法,用一个n位的二进制数iii表示,第jjj位为0表示该状态还没有完成jjj作业,1表示已完成。我们从小到大枚举iii,新状态比前一状态多完成一个作业,例如当i==5i==5i==5,可以由前面的状态组合:dp[100]+sumt-d[1],dp[001]+su...

2019-11-06 11:29:12 186 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除