摘要:
题意: 给定两个字符串s1,s2利用s1去构造s2,s1有无限个,可以翻转,你最少要用几个s1才能构造s2。输出每一次使用的s1的有效区间。 伪思路: 据说是暴力就能过的题目。然而自己就是暴力差,模拟差,DP差。。。。mdzz好像都差,不会怎么暴力。 其他思路都想过一点,然后剩下两... 阅读全文
摘要:
题意: 有n头奶牛,然后有个规则是A->B,B->C,那么A->C; A觉得B受欢迎,B觉得C受欢迎,那么A觉得C受欢迎; 求:被其他所有牛都欢迎的牛的数量; 思路: 原来的思路: 我们只要在缩点之后的图中,找出出度为0的点,然后输出它里面的点就可以了。【虽然AC了】 然后我觉得这... 阅读全文
摘要:
题意: 给你n个数,然后让这些数相加组合,然后在这些组合的数里可以再相加组合搞出给定 k,输出这些组合的数。思路: DP。 //在枚举到第i个coin的时,dp[i][j],i 肯定能被a[i]组合, //然后再枚举using namespace std;typedef long ... 阅读全文
摘要:
题意: 1.在每一堆里顶部的coin的size必须大于这一堆其他的coin; 2.在每一堆里顶部的coin的size必须大于前面堆的顶部的coin; 3.在每一堆里顶部的coin的num必须大于前面堆的数量; 然后给你n(using namespace std;typedef long long... 阅读全文
摘要:
题意: 给你一个矩形h*w(h,w都是1e9),然后给你n个询问,每个询问带一个1*wi矩形,问你这个给定矩形能放在第几行(从1-h下来)。如果最终放不下了,就输出-1。 比如案例:3 5 524333 阅读全文
摘要:
题意: 时钟的三个指针在两两之间至少D°的时候是开心的,求开心时间占一天的一个百分比。 思路: 我们看到这个百分比有三位小数,精度很高。 一天有24h,24*60min,24*60*60s,那么最小单位是秒。 换一种方法,考虑一天360*2度。但是可以看到,从秒到分到时间,这样转换... 阅读全文
摘要:
题意: 在一个平面上有n(1e5)个点,然后求一个圆来包住这些点,求这个圆的最小半径。 思考: 要使一个圆直接包了这些点,没有任何思路。。 阅读全文
摘要:
C++提供了位运算操作符,使程序可以直接对内存进行操作。C++的这个特色大大提高了C++程序的执行能力。例如使用位操作运算可以将一个存储单位中的各个二进制位左移或右移一位,也可以将一个存储单位中所有的二进制位取反,这些操作多数要比直接进行数值上的运算要高效的多。 学习位运算之前,我... 阅读全文
摘要:
思路:搜一下,还想多了,记得以前做过把一个数搞成几个数的相加组合,然后这题无非就是多了个组合的个数m的时候也return掉就好了。//#include #include#include#include#include#includeusing namespace std;typed... 阅读全文
摘要:
我不知道为什么我有这样的想法,纵观CCCC,太弱太弱,再不把自己埋起来,狠起来,就真的非常菜了,去刷难题吧!我不管老郭的数据,只管自己的实力,每天三道难题CF的C题+总结。以及刷水题!!!(刷CF的B题)以及学习C++和算法【DP】和图(配合大量的题目)。还是做标记:每天15的规定... 阅读全文
摘要:
很有意思的比赛。比赛下来,过于紧张,没有完全放松自己,一开始还好手分挺顺,连A两题缓解压力。现在想想没有必要,真的没有必要那么紧张。尤其是开始,太紧张了,连头文件都要纠结一下。以后参加比赛应该要吸取教训,我很强,我也就那么点本事,尽可能去做吧。赛前就这样去想吧。然后中间过程的败笔,... 阅读全文
摘要:
//注意会爆 int #include using namespace std;typedef long long LL;typedef unsigned long long ULL;const double eps=1e-5;const double pi=acos(-1.0);... 阅读全文
摘要:
题意: 已知有n个作业,每个作业呢,都是一天可以做完,每个作业都有一个截止日期,每个作业如果超过他的截止日期会扣分,最后让你求一个怎么安排求得一个最小扣的分数。 比如现在有3个作业 截止日期:3 3 3 超过扣分:1 5 4 我们看到他们的截止日期都是3天,所以每天做一份。3天刚好... 阅读全文
摘要:
10张牌,大的只能跟小的跑,可以针对每一个状态进行搜索,求一个最小的移动距离。 但是不会怎么遍历整个状态是硬伤? 因为只能大的跟着小的。 先把小的标记,去寻找大的点,最终一定是满足的吧。 比如先标记1,然后回溯的时候,2被标记了,那么一定是放到比2大一的3上,这样一定是满足的。 不... 阅读全文
摘要:
所谓“螺旋方阵”,是指对任意给定的NNN,将1到N×NN\times NN×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×NN\times NN×N的方阵里。本题要求构造这样的螺旋方阵。 输入格式: 输入在一行中给出一个正整数NNN(#include #include... 阅读全文
摘要:
现在为若干组整数分别计算平均值。 已知这些整数的绝对值都小于100,每组整数的数量不少于1个,不大于20个。 输入格式:首先输入K(不小于2,不大于20)。接下来每一行输入一组数据(至少有一组数据),每组至少有一个数据,在有多个数据时,两个数据之间有1到3个空格。最后一行输入100... 阅读全文
摘要:
题意: 应该是求一个路径让所有的单词能够首尾连起来,不需要头和尾的单词也连起来。。。应该很容易懂吧。。。我这里讲的好烂。。 思路: 从欧拉回路的定义引申过来。 1. 连通。 2. 入度和出度问题。问题就是怎么建图??? N(1e5)条边啊。那肯定是邻接表建图。 具体处理呢?对于... 阅读全文
摘要:
积压很久的一道。。。一看直接spfa水过。。但是看那个safest怎么求得?松弛的时候取大。#include using namespace std;typedef long long LL;typedef unsigned long long ULL;const double e... 阅读全文
摘要:
现在还很弱,贴一个我bin的结题报告日后写到一定会了加油 说说感觉,读题不读好,然后读完想不出,知道是dp不好好想,先排序一列,再求另一列,dp[ i ]代表长度,那么需要输出整个序列需要路径和一个标志性的下标。以及原来的下标,这么说要用结构体。DP的具体细节也是决定怎么dp的。 ... 阅读全文
摘要:
A的万般无奈。。。后来跑了大牛的这份代码发现, 题意是求一个序列与给定的两个序列有t个不同。 只要保证。。。对应位置就行了。。 所以处理起来非常方便。。。。。。。。。。。。。。 可是没有感觉是对应位置啊瞎几把想了一堆。后来真的是。 再后来? 我觉得非常好的就是又多了那么点见识。。#... 阅读全文
摘要:
这题就是一个人买还是两个人买,直接选择一下,而且默认是排好了的,就是DP一下,可能不知道DP的人,也是这么写的吧。DP是一种思想啊。#include using namespace std;typedef long long LL;typedef unsigned long lon... 阅读全文
摘要:
队友在比赛时A掉的。吊吊吊!!! 主要考虑这些情况吧||| 案例:/*3i i-3 i-1-i 1+ii 1-1-i -1-i*/-3-3i-2ii2i#include #include #include #include #include #include using names... 阅读全文
摘要:
GGGGGGGGGGGGGGGGGGGGGGGGGG 3-2 灯 塔 (30分)这一刻 心如大海;如迎风的帆 沿着海湾;在洒满 银子的海面;我是一艘 孤单的船;你是否 已经在那里;安静的 等待着;你是否 已经在这里;冰冷的 燃烧着。—–彭坦 《灯塔》这首歌曲描述的是海岸边上的灯... 阅读全文
摘要:
首先,读题,真是一窍不通。后来看完程序的意思,才明白吧。。 题意: n个人中选m个,条件是取sum|D-P|最小,当有|D-P|相同的时候取|D+P|最大的。然后输出那些m个人的sumD,sumP,最后升序输出m个人的编号。看完题意,想想好像也不难?。。。瞎想想可能会想出来。 然后... 阅读全文
摘要:
这个太夸张了。。。感觉是有别的方法,但是觉得再说吧。。。以后碰到全排列应该也是用STL嗨的吧。。。嗯,,,就是这样的。。。。?再说,再说。。 还有杭电支持c艹11,很棒#include using namespace std;#define LL long longconst in... 阅读全文
摘要:
题意:一个环,相邻相加是素数。 思路: 直接深搜就好了。。 output limit exceed 了好几发。。。 因为那个while里面的scanf前面的“~” 后来搜了output limit exceed的常见错误,还有输入输出,所以主要看下输入输出那边有没有写错吧,... 阅读全文
摘要:
题意: 给你一个数组,m个询问,l,r,x;让你输出在区间[ l , r ]上哪个位置不等于x。 思路: 额。。我这个思路还是剽来的。。。不过真心赞啊。 开个p数组,直接记录数组每个元素的位置,并且实现是最右。 然后对于每个查询,直接询问下限位置的a[ i ]是否等于x,不等于直接... 阅读全文
摘要:
http://codeforces.com/problemset/problem/596/B GGGGGGGGGGGGGGGGGGG 阅读全文
摘要:
假设有九宫格输入法键盘布局如下: [ 1,.?! ] [ 2ABC ] [ 3DEF ] [ 4GHI ] [ 5JKL ] [ 6MNO ] [ 7PQRS ] [ 8TUV ] [ 9WXYZ ] [ 0空 ]注意:中括号[ ]仅为了表示键盘... 阅读全文
摘要:
题意: 每次只能取两端,然后第 i 次取要val[ i ]*i,求一个最大值 一切都是错觉【读者省略此段】 这道题目一开始想的就是记忆化搜索,然后太天真了?好像是,一开始用一维dp[ i ]直接代表一个点的最大。。。额。。现在想想好撒比,怎么可能一维就可以代表一个点的最大啊。。。因... 阅读全文
摘要:
还是满水的一道题目吧。。。这个一看肯定要搜索了。。然后又是这么DP,那就是记忆化搜索了。。。走K步,下一步要比他多。。。很好写啊///#include#include#include#include#include#include#include#include#includeus... 阅读全文
摘要:
/* 【过滤这一段~~~】 一开始想的【错误的,为自己的总结的写的,读者略过】: 每个状态的点肯定是高度,那么我DP每一层,这样的话就有一层循环,其实这无关复杂度,不会很多时间 错误的是想法是从最高层开始DP下来,或者其实这样也同样可行,最高点是固定的。 OK,那么中间呢?怎么考虑... 阅读全文
摘要:
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,一开始我就不知道怎么写,然后看了题解是状压DP,后来去看了看状压DP也就这样嘛,但是难点,可以说是不熟悉的地方吧。。。如下: 第一、我们能很快的知道状压DP的原理: 就比如我们要考虑一些状态的时候,比如做这题做作业,有N[0 , 15]个作业,我... 阅读全文
摘要:
弱弱上路,看了好多题解。。。。【A的】 题意就是求最大m子段和。 我们先用a[1e6+7]存入数据; 定义:DP[ i , j ] 为前 j 个元素的 i 个子段的最大和,且第 i 个子段中包含了元素 a[j]。 我们先来看:DP[ i , j ]状态方程由来; 对于一个元素 a[... 阅读全文
摘要:
#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long long LL;#define INF 0x3f3f3f3f#defin... 阅读全文
摘要:
转自:http://blog.csdn.net/liwen_7/article/details/7646451n个有序的元素应有n!种不同的排列。 如果一个排列式的所有的元素都不在原来的位置,则称这个排列为错排。 任给一个n,求出1,2,……,n的错排个数Dn共有多少个。 递归关系... 阅读全文
摘要:
//因为同一点结束的时间段会有多个,这里没考虑;//无限wa;const int N=1e6+7;int b[N];LL a[N];LL dp[N];struct asd{ int s; int t; LL w;};asd q[N];bool cmp(asd z,... 阅读全文
摘要:
这完全可以达到3*1e4个啊。。。如果这样子,这复杂度就炸了吧?。。。#include#include#include#include#include#include#include#include#includeusing namespace std;typedef long l... 阅读全文
摘要:
【弱的C艹之路】 数据范围 unsigned int 0~4294967295 int 2147483648~2147483647 unsigned long 0~4294967295 long 2147483648~2147483647 long long的最大... 阅读全文
摘要:
以前的一道题目,现在拿到总觉得是DFS,然后T掉就没什么想法了,很狗的看了以前的写法(以前还是看题解的AC的),是BFS,每次都要转弯,但是之前你的达到一种他走到了死路,所以才是不得不转弯,写法也是非常棒,预处理的转弯数是-1就可以达到一开始转弯的+1抵消。 DFS写法: 中间判断... 阅读全文