- 博客(32)
- 收藏
- 关注
转载 stringstream用法
stringstream作用1:分割字符串 作用2:更安全的类型转换 做一个对照:操作 string 字符数组 定义字符串 string s; char s[100]; 取得第i个字符 s[i] s[i] 字符串长度 s.length() 或 s.size() strlen(s) 读入一行 getline(...
2018-10-22 21:49:38
1598
原创 B. Curiosity Has No Limits【思维 规律】
https://codeforc.es/contest/1072/problem/B题意:给你两个n-1长度的序列 a序列 和 b序列 元素范围是【0,3】然后是否存在一个 n长度的 t 序列 满足(ti | ti+1 = ai ti & ti+1 = bi) 我在纸写了下情况一共4*4种情况 当然这存在3 0 和 0 3 排除后有10种 ...
2018-10-21 20:39:57
455
原创 String of CCPC ZOJ - 3985【思维 + 规律】
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3985 题意:T组 n 和 一个n长度只含C、P的字符串 其中可以买 C 或 P 插入 买的代价是:第i次买 代价是(i - 1) 然后最后有多少CCPC 设有k个 ans = k - 代价和 求ans的最大值 不限买数 ...
2018-10-20 21:17:23
170
原创 ZOJ - 4011 Happy Sequence【dp】 2018 ZOJ march月赛
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4011题意:t个样例 一个n 代表给你1 2 3 .。。。n的序列 一个m问你组成长度为m的序列有多少个关于长度为m 他是这样定义:【这里面有m个数】且每两个相邻的数 前者能整除后者 即后者%前者==0 比如n=5 m=3有16个111 222...
2018-10-19 13:00:34
130
原创 HRBUST - 2385 方方正正【暴力过】【待正规做法】
http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2385魔法阵 :四角的符号都一样给n行m列 有多少个魔法阵 #include <iostream>#include <cstdio>using namespace std;int m...
2018-10-16 21:16:22
159
原创 方方正正【规律 思维】
http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2295给你r行 c列 r个行的和 c个列的和 矩阵只能0 1 组成 问在所给的信息这样的矩阵能不能存在 思路:很容易想到 所有行之和 若不等于 所有列之和 不行还有因为只有0 1 组成 所以当我...
2018-10-15 21:30:41
278
原创 简单排序 去重 掌握了几个STL容器
http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=2378 vector 先排序 再去重unique#include <iostream>#include <cstdio>#include <set>#include <s...
2018-10-15 21:07:46
468
原创 字符串
总结:吃空格 getline(cin,string) cin.getline(char*, 长度,【结束符】) gets(str) cin.get(char*,长度) 不吃空格 scanf(“%s”,char*) cin>>string cin >> char* 单字符ch = cin.g...
2018-10-14 21:00:20
159
原创 二进制、八进制、十进制、十六进制之间的转换
https://jingyan.baidu.com/article/495ba84109665338b30ede98.html转于 百度文库 二进制与十进制之间的转换 1 十进制转二进制 方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。 (具体用法如下图) 2 二进制转十进制...
2018-10-14 16:51:03
160
原创 【dp理解还不够】状态dp 跟运气策略
http://acm.hdu.edu.cn/showproblem.php?pid=5135题意:给n条木棒, 然后让你组成三角形 木棒不能重复 求最大面积和。这题训练赛我们是猜了一个贪心策略 就ac了把n条木棒从大到小排序 然后依次取三条 看能否组成三角形 能就加上其面积不能就舍弃最大边 因为我们想 三角形的三条边差值越少 面积就越大。 就好比等边三角形 三条边相...
2018-10-09 21:38:33
197
转载 位运算技巧
按位与 &按位或 |按位异或 ^按位取反 ~左移<<右移>> A B A&B A|B A^B 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 1 1 0 按位与可以类比&a...
2018-10-08 21:08:19
242
原创 hdu 5137【最短路】
http://acm.hdu.edu.cn/showproblem.php?pid=5137题意:n个点(1到n编号) 每两点有相应权值 无向图 问1到n 最小花费多少会随意删除一个点(不能1点 和 n点)如果最小花费 是不存在 即inf 那就输出Inf 一开始想 最小花费 直接最短路 求dis【n】 会删除点 那就枚举删除的点 在跑dijkstra时 把删除...
2018-10-07 20:21:55
157
原创 西安 K、Last Defence【规律 类似辗转相除法】
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5057 题意:给你T个例子 然后每个例子两个数a 和 b 分别是s1 s2然后有一个规则 si = 前两个si差的绝对值 (显然i >= 2...
2018-10-06 20:59:47
309
原创 CF C. Sequence Transformation【规律】
http://codeforces.com/contest/1059/problem/C题意:给你一个n 然后代表1到n的一个序列然后说每次进行一种操作 序列当前所有数的gcd 然后把gcd结果加入一个答案数组 然后此时可以删除序列中的一个数重复这种操作 直至序列没有数 同时保证答案序列是字典序最大 前面的数越大越好 收获:样例一般都会 给出具有代表性 而且...
2018-10-06 11:02:50
701
原创 POJ 1017 装箱问题 【模拟】
http://poj.org/problem?id=1017 一个大箱 6*6*h产品 有1*1*h 2*2*h 。。。。。。6*6*h然后给各类型产品的个数 问最少用多少个大箱太简洁了 思路太好 值得学习#include<iostream>using namespace std;int main(){ int num[7]; int thre...
2018-10-05 11:07:08
183
原创 CF C. Maximum Subrectangle【贪心 + dp】
http://codeforces.com/contest/1060/problem/C给你一个两个数组 分别n , m 长度然后给你n个数 m个数 一个x然后这n + m个数 构成一个矩形比如3 3 1 2 3 1 2 3表:就是for(i=n个数) for (j=m个数) i*j1 2 32 4 63 6 9再通俗点说 n = 2 m...
2018-10-04 21:25:35
213
原创 逆元+前缀和+前缀乘+二分+贪心
http://acm.hdu.edu.cn/showproblem.php?pid=5976 题意:前言:一维 即一条线段的长度,二维 即x*y,三维 即x*y*z, 四维 即x*y*z*h, 五维。。。n维 然后题目给你一个数x 把这个数拆成x= ai + aj +...+ak (两两不相等)然后输出这些数累乘的结果 再模一个数 要求结果最大结论1:贪心策略 -...
2018-10-04 11:06:31
480
原创 国庆训练赛第二场 模拟 能否一步还原二阶魔方
http://acm.hdu.edu.cn/showproblem.php?pid=5983两种情况一、一开始就还原好二、要想一步还原 一定是有两面是好的(且是对立)上下, 左右, 前后有两层 可以发现每层模拟一下顺逆时针 会出现重复所以可以得出结论 一共就3* 2种情况 枚举#include<iostream>#include<cstdio&g...
2018-10-03 20:32:22
192
原创 sscanf 和 sprintf 和c_str() 和 str()
掌握c语言 字符串转换 c++字符串转换注意c_str()返回时 临时变量,存在销毁的可能 所以最好把内容复制了 sscanf用法https://blog.youkuaiyun.com/suxiang198/article/details/46836961#include<iostream>#include<cstdio>#include<strin...
2018-10-01 11:15:45
719
原创 费马小定理
https://vjudge.net/problem/HDU-5685题意:给一个公式 求字符串的hash值 然后给你一个完整字符串 a b 两点 然后输出a b子串的hash值 思路:子串, 有公式 ,很容易想到前缀积 因为利用前缀积可以表示任意一个子串但是乘法,还累乘 肯定爆 所以我们只能保存mod后的值现在有了pre【】 求a b子串 原本...
2018-09-29 23:09:19
677
原创 染色 能否构成二分图 存在多个连通快
https://cn.vjudge.net/problem/HDU-5971 #include<iostream>#include<cstring>#include<cmath>#include<string>#include<map>#include<vector>#include<set>
2018-09-27 20:14:35
135
原创 思维题 n个点的树 染k种颜色
http://acm.hdu.edu.cn/showproblem.php?pid=6228然后相同颜色的点 用最少的边连起来一条线那么最后就会有k条线问这些线 重叠的线段 最多是多少 随便染色,任意点,想了一下好像并没有什么贪心的策略 所以说我们换一个思路考虑。我们知道,在一棵树中,边是与点紧密连接的,而一条边要么属于最后答案所在的集合,要么不属于,那么我们要做...
2018-09-27 17:46:23
1290
原创 田忌赛马 贪心 注意细节
http://poj.org/problem?id=2287田忌赛马题意:给田忌 和 国王 各自n匹马比赛n轮 每匹马只能比一场 赢的一方得200 平得0田忌最多赢多少 思路贪心:局部最优------》》全局最优先排序 大到小然后ti ki 分别指向田忌 国王当前(即还没比)最大速度那匹马tj kj 各自。。。。最小速度 1)田最快 >...
2018-09-26 20:30:44
460
原创 面积 三角函数
#define pi acos(-1.0)cos,sin,asin,acos这些三角函数操作的是弧度弧度=角度*Pi/180;角度=180*弧度/Pi三角函数公式 s=1/2bcsinA...
2018-09-25 21:17:47
227
原创 hdu5978 规律 求概率 To begin or not to begin
给k个黑球 1个红球先手那个人有优势 输 1先手没优势 输2先手后手都一样 输0 其实如果放回 概率是一样的 设p为先手赢的概率1黑1红 p=1/2 先手抽红2黑1红 p=1/3 + 2/3 * 1/2 = 2/3 第一次抽红 + 第二到的时候抽红3黑1红 p= 1/4 + 3/4 ...
2018-09-25 21:08:21
132
原创 hdu4027 剪枝+用不上懒标记的线段树
https://cn.vjudge.net/problem/HDU-4027 给n个数 然后两种操作0操作 把【l,r】的数都开根(向下取整)1操作 输出【l,r】的区间和 因为这是每个数开根 而不是加上 所以结点没法直接更新 不同于懒标记 懒标记是把当前结点标记了,同时也更新当前结点的信息 然后直接返回注意懒标记下面的数据还没更新的!! 但是没关系...
2018-09-25 20:38:01
136
转载 C语言的整型溢出问题 int、long、long long取值范围 最大最小值
《C和指针》中写过:long与int:标准只规定long不小于int的长度,int不小于short的长度。 double与int类型的存储机制不同,long int的8个字节全部都是数据位,而double是以尾数,底数,指数的形式表示的,类似科学计数法,因此double比int能表示的数据范围更广。 long long在win32中是确实存在,长度为8个字节;定义为LONG64。 为什么会出现lo...
2018-09-23 20:12:09
2836
转载 浅谈线段树
一、基本概念1、线段树是一棵二叉搜索树,它储存的是一个区间的信息。2、每个节点以结构体的方式存储,结构体包含以下几个信息: 区间左端点、右端点;(这两者必有) 这个区间要维护的信息(事实际情况而定,数目不等)。3、线段树的基本思想:二分。4、线段树一般结构如图所示:5、特殊性质:由上图可得,1、每个节点的左孩子区间范围为[l,mid],右孩子...
2018-09-23 17:56:30
109
原创 lower_bound upper_bound
#include<iostream>#include<functional>#include<algorithm>using namespace std;int main() { int a[5] = { 0, 1, 2, 2, 5 }; int b[5] = { 4, 3, 2, 1, 0 }; //默认都是重载 less<>(...
2018-09-23 11:36:41
319
原创 cf round#510 div2 C-Array Product 逻辑规律
有两种操作1操作 格式:1 i j 然后把i*j的结果 放在第j个数 第i个数删除2操作 格式: 2 i 把第i个数删除 且最多只能用一次操作2 题目给你n个数 然后输出这些操作方案 使得n个数最后只剩一个数 这个数需要最大思路:很容易想到 0的个数 负数的个数 是解题关键既然是个数 那就有 奇偶 之分 ...
2018-09-23 11:05:56
106
原创 尺取法 求满足条件的最小区间
https://vjudge.net/problem/POJ-3061给n个数 一个s 求总和大于等于s的连续子序列的长度最小值,不存在输0一开始想暴力: for遍历起点 for(1长度到可以的长度) TLE上面的想法就是确定 起点 终点 现在通过一个sum【i】=a0+。。。ai-1 这个前缀和 把一段连续子序列表达成两个前缀和的差值即 as+。...
2018-09-21 22:36:14
495
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人