自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 HNOI2016 大数(number)

分析首先,我们要知道取模的几个性质: 设p=a+b,q=a*b 1.p%x=(a%x+b%x)%x 2.q%x=(a%x*b%x)%x 知道这两个性质之后,我们首先输入进要模的数x和字符串s,处理出一个后缀数组m,和一个po数组,m[i]表示字符串中从前往后数的第i位到结尾所组成的数字对x取模的结果是多少,po[i]表示10^i对x取模的结果。以样例来说明,m[3]表示1211对11取模的结

2016-04-30 15:15:34 942 3

原创 HNOI 2016 暴力之旅

Day1T1看到这题,我瞬间想到用暴力做。 小小思考了一下,我便打起了暴力。 是这样的: 题目每次给出了俩点,和一个限制ta和tb,于是乎,我便从一个点开始,往周围延伸。延伸的标准是酱紫的,一条线能否延伸仅当这条线的a和b满足a≤ta,b≤tb。每次延伸,把这条边记录下vis,以后遇到这条边不再延伸。然后边延伸边记录下所有延伸到的a和b的最大值ma和mb。 然后延伸到不能延伸

2016-04-16 20:45:38 2055 2

原创 【Usaco2015 JAN】Cow Rectangles

很丑另一份代码还没有。。。。#include<cstdio>#include<algorithm>using namespace std;const int maxm = 500 + 10;const int maxn = 1000 + 10;const int INF = 0xfffffff;int pre[maxn][maxn], n, l, r, d, u;char ch;st

2016-03-02 22:21:39 542

原创 【Usaco2015 JAN】Moovie Mooving【DP】(发现自己有点不会写二分啊)

题目大意Bessie要在电影院里呆L分钟,这段时间他要看小型电影度过。电影一共N部,每部都播放于若干段可能重叠的区间,Bessie决不会看同一部电影两次。现在问他要看最少几部电影才能度过这段时间? 注:必须看电影才能在电影院里呆着,同时一场电影可以在其播放区间内任意时间入场出场。输入4 100 50 3 15 30 55 40 2 0 65 30 2 20 90 20 1 0输出3链接点我查

2016-03-01 20:56:11 835

原创 【Usaco2016 FEB】Fenced In

首先,大膜htn 然后,分析一下。 实际上,画个图,一下就可以找出规律了。 我们可以先处理出每一段门的费用,再排序,根据题目的特殊性,可以知道整个一行或一列的费用都可以很方便的表示出来。 根据最小生成树的思想,每次可以找出最小的费用,显然将那一整行都连通一定是最优的。然后进一步分析,又可以看到一个问题。每次打开的时候,如果本来就有连通的,就不用打开了。这个问题很容易可以解决,因为我们每一次都

2016-02-29 21:10:57 1003

原创 【Usaco2016 FEB】Load Balancing【线段树 + 二分】

大膜YZ哥题目大意给你一个矩阵,里面有些点,让你横向切一刀,纵向切一刀,使得得到的四个区域内的最大的点数最少。输入7 7 3 5 5 7 13 3 1 11 7 5 3 9 1输出2分析首先,我们要枚举纵向是从哪里分开(从左往右扫),可以用离散化进行优化。然后,我们需要二分来找一个横向分开的最优位置。我们先假设每次都可以知道从mid分开后,四个区域内每个区域的点数,那么我们便可以知

2016-02-28 17:22:47 1059

原创 Yura and Developers

Yura and Developers题目大意给出一个长度为n的区间,求其中有多少个区间,使得这个区间中所有元素的和减去这个区间中的最大值除以k的余数为0.代码#include<cstdio>#include<cstring>#include<algorithm>#define int long longusing namespace std;const int maxn = 3 * 1e

2016-02-01 12:30:59 471

原创 【UVALive】3029.City Game<C++>

#include<cstdio>#include<cstring>#include<iostream>using namespace std;char input[1001][1001],judge;int up[1001][1001],Left[1001][1001],Right[1001][1001];int main(){ int m,n,lnear,rnear,answe

2015-11-23 21:57:00 492

原创 【NOIP2015】求和<C++>

#include<cstdio>#include<cstring>using namespace std;int main(){ int n,m,cor; long sum=0; scanf("%d%d",&n,&m); long color[m+1][3][2],number[n+1],count[m+1][2]; memset(count,0,siz

2015-11-21 11:10:13 1946 1

原创 圈奶牛<计算几何><C++>

#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;struct point{//x横坐标,y纵坐标. double x; double y;}p[10000],chosen[10000];bool cmp(point a,poin

2015-11-18 20:48:16 755

原创 糖果<DP><C++>

程序#include<cstdio>#include<cstring>using namespace std;int main(){ int n,k; scanf("%d%d",&n,&k); long f[n+1][k],a[n+1]; memset(f,0,sizeof(f)); for(int i=1;i<=n;i++) scanf

2015-11-04 22:06:27 623

原创 导弹拦截<DP><贪心><C++>

程序#include<cstdio>#include<cstring>using namespace std;int main(){ int i=-1,a[1001],f[1000],max,min,tot=0; memset(f,0,sizeof(f)); while(scanf("%d",&a[++i])==1) { max=f[i];

2015-11-02 22:00:49 3314

原创 求排列的逆序数<归并><C++>

程序#includeusing namespace std;void gb_b(int p[],int a[],int i,int j,int ans){ int e=(i+j)/2,q=i,w=0; do{ if(a[q]>a[e]) p[w++]=a[e++],ans++; else p[w++]=a[q++],p[w++]=a[e+

2015-11-02 21:02:42 1333

原创 装箱问题<DP><C++>

题目题目:给出n个物品的体积,选取其中若干个物品装入容量为v的箱子中,剩余空间最小为多少?输出这个最小值.输入格式: 第一行,输入箱子的容量v.第二行,输入物品的个数n.接下来n行,输入每个物品的体积.输出格式:仅一行,输出箱子最小剩余空间.例子: input:2468312797output:0分析用f[v]来表示前i个物品放入容量为v的箱子中的最大体积,d

2015-10-31 16:15:07 3247

原创 乘积最大<DP><C++>

题目题目:给出一个长度为n的数.问:如何在数中添加k个乘号,使乘积最大?输出这个最大值.输入格式: 第一行,输入两个数n,k,中间有空格隔开.第二行,输入这个长度为n的数.输出格式:仅有一行,输出最大值.例子: input:4 21231output:62分析

2015-10-31 14:58:15 1466

lemon评测软件

lemon评测软件,与cena一样,比cena更加稳定

2016-02-29

空空如也

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

TA关注的人

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