上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页
摘要: 题意: 给定3个杯子的容量, 然后一开始第3个杯子水是满的, 求出最少倒多少升水才能让某个杯子有d 升水, 如果无法做到, 求出d',(d' < d 且尽量接近d) 阅读全文
posted @ 2018-01-19 16:21 Neord 阅读(211) 评论(0) 推荐(0)
摘要: 题意: 给定N个初始值为0的数, 然后给定K个区间修改(区间[l,r] 每个元素加一), 求修改后序列的中位数。 分析: K个离线的区间修改可以使用差分数组(http://www.cnblogs.com/Jadon97/p/8053946.html)实现。 关于对一个无序的序列找出中位数 方法一: 阅读全文
posted @ 2018-01-19 15:40 Neord 阅读(715) 评论(0) 推荐(0)
摘要: 题意: 给定n个点, m条路, 求1到 2 ~n的最短路之和加上2~n到1的最短路之和 分析: 裸最短路, 求其他点到源点的距离只需要把边方向再从源点求一次即可 spfa代码 dijkstra代码: 阅读全文
posted @ 2017-12-27 16:36 Neord 阅读(258) 评论(0) 推荐(0)
摘要: 1 inline int read(int &x) 2 { 3 int k=0; 4 char f=1; 5 char c=getchar(); 6 while(c>'9'||c='0') 13 { 14 k=k*10+c-'0'; 15 c=getchar(); 16 } 17 x = k*f;... 阅读全文
posted @ 2017-12-27 16:25 Neord 阅读(158) 评论(0) 推荐(0)
摘要: 题意: 求斐波那契的前10000项目 分析: 模拟竖式加法, 用string作为数字的储存形式 阅读全文
posted @ 2017-12-24 12:56 Neord 阅读(346) 评论(0) 推荐(0)
摘要: 题意: 给定n个酒吧, 然后有k个学生投票今晚去哪个酒吧, 然后会有a个(a<=k)学生先投票了, 先投的票会影响后面的人投票的概率, 求每个酒吧今晚去的概率。 分析: 我们可以从最初的状态开始广搜, 由于搜索中会有很多重复的状态, 我们用一个map去储存这些状态, 如果map中没有这个状态再将他入 阅读全文
posted @ 2017-12-24 12:53 Neord 阅读(177) 评论(0) 推荐(0)
摘要: 题意: 给定一个整数w, 然后给定n个数, 问有没有两个数之和恰好为w 分析: 现将n个数数组a[]排序, 然后用两个变量i,j指向开头和末尾, 如果a[i] + a[j] > w, i++, 如果a[i] + a[j] < w, j--。 直到相等或者i == j(找不到结果) 阅读全文
posted @ 2017-12-24 12:41 Neord 阅读(145) 评论(0) 推荐(0)
摘要: 题意: 给定n个数,从中挑出c个, 让他们相邻两数的最小距离最大。 分析: 先将n个数排序, 然后我们知道两个数的距离的范围d ∈[1,n/c + 1], 我们去二分这个范围, 然后去判断mid是否可行。 判断方法是从第一个点开始放, 找到一个不少于d的点再试, 最后如果能放满证明可行,d的下限为m 阅读全文
posted @ 2017-12-24 11:23 Neord 阅读(149) 评论(0) 推荐(0)
摘要: L2-017. 人以群分 题意: 给定n个正整数, 然后分成规模相差尽可能接近的两类, 这两类之和相差要尽可能大 分析: 直接排序, 然后分成两部分即可 1 #include <bits/stdc++.h> 2 using namespace std; 3 int a[123456]; 4 int 阅读全文
posted @ 2017-12-23 20:54 Neord 阅读(513) 评论(0) 推荐(0)
摘要: long long quickmod(long long a,long long b,long long m) { long long ans = 1; while(b)//用一个循环从右到左便利b的所有二进制位 { if(b&1)//判断此时b[i]的二进制位是否为1 { ans = (ans*a)%m;//乘到结... 阅读全文
posted @ 2017-12-18 11:29 Neord 阅读(143) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 17 下一页