自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yp_2013的博客

毕竟玩物而已

  • 博客(12)
  • 收藏
  • 关注

原创 hdu5833 异或版高斯消元

300个最大质因数小于2000的数,选若干个它们的乘积为完全平方数有多少种方案。合法方案的每个数的质因数的个数的奇偶值异或起来为0。比如12=2^2*3,对应的奇偶值为01(2的个数是偶数为0,3的个数是奇数为1),3的对应奇偶值为01,于是12*3是完全平方数。然后异或方程组就是:a11x1+a12x2+…+a1nxn=0a21x1+a22x2+…+a2nxn=0…an1x1+an2x2+…+an

2016-08-29 15:31:14 698

原创 省赛记

1002 拓扑加dp, dpi表示能到达i点的所有ai 的和,然后乘一遍bi就可以了。 因为拓扑的时候多条路径就是加了几次#include <bits/stdc++.h> using namespace std; #define ll long long const int maxn = 1e5 + 10; const ll mod = 1e9 + 7; int a[maxn] ,b[maxn]

2016-08-29 14:38:31 341

原创 hdu5787 数位dp

题意是给你一个l,r,问你这中间的数字有几个符合K位数字全都不一样。 这题比较明显的数位dp dp[pos][p1][p2][p3][p4] pos表示当前位,p4表示前一位。这里要考虑前导0的情况,p4=10的时候表示前一位为0. 档(p4==10 && u==0)时表示当前的这位为0并且前四位都为0.所以向下dfs的话 res+=dfs(pos-1,10,10,10,10,flag&&ed

2016-08-23 20:41:32 243

原创 hdu 5802 搜索加贪心

题目大意 调节音量s到t,上升音量每秒只能上升1,下降音量每秒为2*x,x为上一次下降的音量,如果下降时休息或者上升音量则x置为1,音量最低为0 思路就是贪心的去选,每次下降到终点上的最近一点,或者终点下的一点,取得一个最小值就好。 两种情况,一直是降到上面,二是降到下面,注意降到下面需要往上补,这里因为贪心所以每次往上补的时候正好利用中间的停顿,所以别漏了这种情况#include<stdio

2016-08-23 20:10:36 274

原创 hdu5862树状数组加扫描线

树状数组加扫描线的思想 #include <iostream> #include <cstring> #include <cstdlib> #include <stdio.h> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #include <string> #include

2016-08-18 23:05:26 415

原创 hdu5861 维护最大最小值线段树

题意:有n 个村庄在一条公路上,每两个村庄之间的路有使用和不使用两种状态,使用时,每天需耗费wi 元,每段路初始时都是不使用的,在m 天中,我们总共可以打开一次、关闭一次,从第一天到第m 天,每一天给出ai、bi,表示ai 到bi 之间的路必须是通的,问每一天n-1段路的总耗费最小为多少。思路:  每段路只能打开一次,关闭一次,我们可以求出第i 段路最早什么时候使用t1,最晚什么时候使用t2,那么我

2016-08-18 22:52:23 645

原创 ccf字符串题

#include <iostream> #include <string> #include <vector> using namespace std; int main(){ int num; string curDir; vector<string> list; cin>>num>>curDir; cin.ignore(); for(int i=0;

2016-08-17 21:01:52 445

原创 hdu4628枚举子集状压dp

题目大意: 给一个字符串,每次可以删除一个可不连续回文子串,问最少删几次可以全部删完。思路: 因为字符串长度最大16,所以可用二进制状态表示, 1表示选取这个字符,0不选,组成一个子串。 先预处理出所有状态,看这个状态是不是回文。 f[i]表示状态i最少几次可以全删完, 初始化f数组INF f[i] = min{f[i], f[s]+1 } s是i的子集。 #include<iostrea

2016-08-03 11:59:48 384

原创 hdu5792

狗b题,气死我了,思路正确,离散化的时候相同元素要按照位置从小到大排,然后不用两遍求,手推一下,做减法就可以了~#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> #include <map> #include <vector> using namespace std; #define ll lo

2016-08-02 18:59:46 609

原创 又一线段树,算上findpos

http://blog.csdn.net/shiqi_614/article/details/9938973

2016-08-02 10:48:02 344

原创 最长上升和下降子序列好题

http://www.myexception.cn/program/1928123.html

2016-08-02 10:27:07 389

原创 ?????

http://blog.csdn.net/u011433745/article/details/38779143

2016-08-02 00:36:47 224

空空如也

空空如也

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

TA关注的人

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