Urbanization
题目链接:https://vjudge.net/contest/279984#problem/C 题目大意:就是有n个数,然后要挑出来n1和n2个,然后呢让n1集合和n2集合的平均数最大,输出这两个平均数的和。 就让n和数从大到小排序,然后贪心地先挑大的放到小的集合中。然后再挑放在大的集合中的。 #include <iostream>
#include <stdio.h>
#include <algorithm>
#include <queue>
#include <math.h>
#incl
Repair the Wall(简单的贪心)
题目链接:https://vjudge.net/contest/279984#problem/E 题目大意:就是有个1L的矩形缝隙,然后有n个1a[i]的小木块来填补空隙,这些小木块可以锯,问最少要用多少块小木块才能修补好缝隙。 思路:就是贪心的选取长的木块,直到木块的长度大于等于L为止。 #include <stdio.h>
#include <algorithm>
using namespace std;
int main()
{
int N,L;
int a[605]
Buildings(贪心)
Have you ever heard the story of Blue.Mary, the great civil engineer? Unlike Mr. Wolowitz, Dr. Blue.Mary has accomplished many great projects, one of which is the Guanghua Building. The public opinion is that Guanghua Building is nothing more than
Ants(POJ 1852)
题目大意:一个蚂蚁群在一个杆子上爬,爬到杆子的末端时就会掉落,如果两只蚂蚁碰面,那么两只蚂蚁会反向走,问所有蚂蚁掉落的最短时间和最长时间。我们已知杆子的长度和蚂蚁的数量和每只蚂蚁的位置(即其距离杆子左端的距离),未知的是蚂蚁的朝向。 思路:每只蚂蚁都有两种朝向的可能,最短时间的话还是很简单的,就是距离哪个端点近,朝向哪边,这样的话也不会存在两只蚂蚁碰头的情况,那么这样的话最短时间就完了。 再看最长时间,这里我们需要换一种思路考虑一下。两只蚂蚁碰头之后反向实际上可以看成两只蚂蚁还是按照原来的方向
Pots(POJ 3414)——BFS
题目链接:http://poj.org/problem?id=3414 题目大意:有A,B容量的两个杯子,然后有六种操作,分别是: "FILL(1)";//将杯子1装满
"FILL(2)";//将杯子2装满
"DROP(1)";//将杯子1中的水全部倒掉
"DROP(2)";//将杯子2中的水全部倒掉
"POUR(1,2)";//将杯子1中的水倒入2中
"POUR(2,1)";//将杯子2中的水倒入1中
(倾倒水的时候如果能倒完就倒完,如果倒不完,就剩在原来杯子里)
问:是否有一系列操作使得
非常可乐 (HDU 1495)——BFS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1495 题目大意:一瓶S的可乐,两个容量分别为N和M的杯子,三者能够相互倾倒可乐,并且S=M+N,问是否能得到相同的两份可乐。如果能的话就计算最少的操作步数。 题解:就是有六种操作,然后就用常规bfs来做。每种操作额外考虑一下能否倒完就好了。 FEELING:debug了很久,本来昨天做了一道类似的而且还比这个难,但是这个还是做了一个多小时,debug了贼久,然后最后发现是有个最后一种操作的字母有地
Connect(CF 1130C)——BFS
题目链接:http://codeforces.com/problemset/problem/1130/C 题目大意:地图上有土地和水,爱丽丝要从起点到终点,但是她只能走土地,所以我们要建造最多一只桥让她到达终点。建桥的消耗是两点之间的距离的平方,问消耗最少是多少。 题解:就是两个队列,一个放起点能到的位置,一个放终点能到的位置,然后就遍历完所有的可行点的建桥消耗,取最小值。 起始可以将起点能走的区域的点的位置存起来,终点能走的点也存起来,然后最后算建桥的消耗,这种方法更优,前面那种就比较麻烦。
胜利大逃亡(续)——BFS、状压
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 题目大意:就是从起点到终点,有路有墙有门有钥匙,钥匙能开对应的门,问能否到达终点,如果能就输出时间,如果不能就输出-1 题解:因为拿到钥匙回到对应门开门可能会走相同的路,所以呢不能单纯的只标记每块地板是否走过,要看该点在该状态(拿了多少钥匙)下是否走过,这里就还是用到了状态压缩,比上一题简单一点,所以写起来也没什么太大问题,嗯。 详解就不说了 去看这个嘛:https://blog.csdn.
链式赋值——系列解包赋值——常量
链式赋值: 用于同一个对象赋值多个变量。eg;x=y=123,相当于:x=123:y=123 系列解包赋值:系列数据赋值给对应个数的变量(个数必须保持一致) 使用系列解包赋值实现变量交换 a,b=10,20 a,b=20=10 print(a,b) 常量,python不支持,但实际上可以,只是逻辑是不一样 最基本内置数据类型介绍 整型(就是整数) 浮点型,(小数或者科学计数法) 布尔型(表示真假,进包含;True,False) 字符串型(由字符组成的序列) 数字 python支持整数和浮点,基
浮点数----自动转换----强制交换
浮点数,称为float。用a乘以b的多少次方来表示,比如3.14表示成314e-2或者314E-2 类型转换和四舍五入, 类似于int 也可以使用float讲其他类型转化成浮点数。 整数和浮点数混合运算时,表达式结果自动转化为成浮点数 round(value)可以返回四舍五入的值。 注不改变原有值,而是产生新对象 增强型赋值运算 运算符+,-,*,/,//,**和%和赋值符=结合可以构成“增强型赋值运算符”。 增强型赋值运算符 运算符 例子 等价 += a+=2 a=a+2 -= a-=2 a
运算符总结-位操作符——优先级问题
基本运算符 运算符 说明 or , and , not 布尔或, 布尔与 , 布尔非 is , is not 同一性判断,判断是否为同一个对象 <, <= ,> ,>= , != ,== 比较值是否相当,可以连用 ^ & 按位或, 按位异或 , 按位与 << , >> 移位 ~ 按位翻转 +,- ,* , /, // ,% 加,减,成 ** 幂运算 1.比较运算符可以连用,并且含义和我们日常使用完全一致 2,。位操作 用移位操作要比乘法除法快的多 3,加法操作 (1)数字相加 (2)字符串拼接
折纸问题(中序遍历二叉树)
版权声明:Please work hard for your dreams. https://blog.csdn.net/calculate23/article/details/88076197 题目链接:折纸问题 来源:牛客网
请把纸条竖着放在桌⼦上,然后从纸条的下边向上⽅对折,压出折痕后再展 开。此时有1条折痕,突起的⽅向指向纸条的背⾯,这条折痕叫做“下”折痕 ;突起的⽅向指向纸条正⾯的折痕叫做“上”折痕。如果每次都从下边向上⽅ 对折,对折N次。请从上到下计算出所有折痕的⽅向。
给定折
hihoCoder#1349 : Nature Numbers(思维)
版权声明:Please work hard for your dreams. https://blog.csdn.net/calculate23/article/details/88093671 题目链接:hihocoder1349 题目大意:有一段由全体自然数组成的字符串 “0123456789101112…”,查询下标为N的字符。 解题思路:思维题,先将自然数按数位分组:{0 - 9} ; {10 - 99} ; {100 - 999} …发现每组的长度分别为 10 x 1, 90 x 2
前端学习笔记--简易的淘宝商品页Demo
版权声明:Please work hard for your dreams. https://blog.csdn.net/calculate23/article/details/88173530 笔记 1,html负责提供前端标签表格等物件(相当于给原材料)
2,css负责对这些原材料进行美化
3,js负责让各种物件有了交互,实现各种功能逻辑的东西。
-----------------------------------------------------
1,<!DOCTYPE html>
蓝桥杯--2016第六届C/C++B组省赛
版权声明:Please work hard for your dreams. https://blog.csdn.net/calculate23/article/details/88323954 重点依旧是搜索,压轴的题相比前一年减少了。不过数论和思维的部分不好搞 煤球数目
有一堆煤球,堆成三角棱锥形。具体:
第一层放1个,
第二层3个(排列成三角形),
第三层6个(排列成三角形),
第四层10个(排列成三角形),
....
如果一共有100层,共有多少个煤球?
请填表示煤球总数目的数字。
leetcode 【待改进】寻找两个有序数组中位数
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qxqxqzzz/article/details/84455399 耗时时间太长,需要改进 思路:将两个数组合并,运用快速排序进行排序,成为一个有序数组,然后根据数组元素个数是奇数还是偶数,确定其中位数 中位数的概念: 1,如果数组元素个数为奇数, 则中位数为中间那个元素 2,如果数组元素个数为偶数,则中位数为中间两个元素的算数平均数 注意:返回值类型不一定非要为浮点型,比如数组元素个数为奇数时,
今日推荐
周排行