
模拟 构造 规律 二分 三分
文章平均质量分 53
huatian5
run
展开
-
leetcode 378. 有序矩阵中第K小的元素
题目:给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第 k 小的元素。请注意,它是排序后的第 k 小元素,而不是第 k 个不同的元素。思路:最小值 matix[0][0],最大值 matrix[n-1][n-1],可以利用二分去寻找“小于等于 val 的数量大于等于 k” 的 mid val,而计算这个数量可以参考 240. 搜索二维矩阵 II,从左下角开始统计某列小于等于 val 的数目。代码:class Solution {public: bool check(原创 2021-01-30 23:06:54 · 180 阅读 · 0 评论 -
leetcode 1737. 满足三条件之一需改变的最少字符数
题目:https://leetcode-cn.com/problems/change-minimum-characters-to-satisfy-one-of-three-conditions/思路:第三种情况比较简单,只需要看转换成相同字符需要多少次(结果我看英文题目理解错了);对于一、二两种情况,需要枚举分界线的位置,统计次数可以用前缀和搞定。class Solution {public: int minCharacters(string a, string b) { ve原创 2021-01-25 20:26:40 · 185 阅读 · 0 评论 -
leetcode 82. 删除排序链表中的重复元素 II
题目:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/思路:这个要求是把连续重复 value 节点全删掉,当遇到重复的就将指针更新,只有不重复了才链入最终结果。递归:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : v原创 2021-01-10 11:22:18 · 215 阅读 · 0 评论 -
ZOJ 2723
G - Semi-PrimeTime Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %lluSubmitStatusPracticeZOJ 2723DescriptionPrime Number Definition An integer greater than one is原创 2016-04-01 22:25:35 · 680 阅读 · 0 评论 -
POJ 1852 Ants
题目意思:让以控制蚂蚁行动方向,来计算所有蚂蚁都掉下去所需的时间。注意不能用暴搜,方向2*2*2*2*2*2*……,2^n会超时。要优化! 以为蚂蚁碰头后会再向回走,所以我们可以考虑忽略蚂蚁的碰头回走,让蚂蚁直接穿越对方,对题目无影响。 代码:#include#include#includeusing namespace std;int a[1000005];v原创 2016-03-26 22:42:12 · 560 阅读 · 0 评论 -
FZU 1055 赋值问题
Problem 1055 赋值问题Accept: 1638 Submit: 8909Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description在很多程序设计语言中,忘记给变量赋初值的错误常令人头疼。请编程求出含N(0≤N≤100)行的程序段运行以后有哪些变量中有确定的值。在下面的问题原创 2016-03-27 15:28:14 · 661 阅读 · 0 评论 -
POJ 3069 Saruman's Army(贪心、思维)
开始不再状态,没看下去题目,题意没了解,再看也没看懂,深刻认识到理解题意重要性!! 以后每次写题解都会写题目大意,毕竟人们做容易忘记最重要、最基础的。 题目大意:给你n个据点,让你建立哨点,让每个哨兵的控制范围在r内,而且用最少的哨点控制所有据点。 思路: 要确定每一个哨点:先说第一个哨点,哨点必须能够控制第一个据点,它的控制范围和下一个哨点的控制范围必须要能将第二个据原创 2016-04-04 22:23:22 · 1132 阅读 · 0 评论 -
ZOJ 2095和HDU1215(打表)(优化)
#include#includeusing namespace std;int a[500005]={0};int main(){ int n,x; for(int i=1;i { for(int j=2;j*i a[i*j]+=i; } cin>>n; wh原创 2016-04-06 21:01:37 · 892 阅读 · 0 评论 -
uva725 - Division
725 - DivisionTime limit: 3.000 seconds代码如下:#include#includeint a[10];int Judge(int m,int n){ int sum; if(n>98765)//简化 return 0; memset(a,0,sizeof(a));原创 2016-02-01 20:20:59 · 625 阅读 · 0 评论 -
FZU 2147(找规律)
坑,规律题目,开始没找到规律,后来被告知了规律,然而还是wa,为什么。。。?(此处注明:坑,是自己挖的坑,所以小小的抱怨就够了,主要问题在自身,坑是自己挖的)原来又是long long和__int64 的坑(vj上wa了,hzu上也wa了),如果在win系统下,那么无论什么编译器,一律用%I64d;如果在linux系统,一律用%lld。注意这个问题就好了,不能连续被坑Linux系统:Z原创 2016-05-31 21:09:16 · 579 阅读 · 0 评论 -
UVA 1584 - Circular Sequence(环状序列)(字典序)
1584 - Circular SequenceTime limit: 3.000 secondsSome DNA sequences exist in circular forms as in the following figure, which shows a circular sequence ``CGAGTCAGCT", that is, the last symbol ``原创 2016-05-08 18:55:51 · 2369 阅读 · 0 评论 -
HDU 2114 Calculate S(n)(数学题)(数学公式)1^3+2^3+3^3+……+(n-1)^3+n^3=n^2(n+1)^2/4
Calculate S(n)Time Limit: 10000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10014 Accepted Submission(s): 3628Problem DescriptionCalculate S(n原创 2016-05-09 21:56:25 · 3718 阅读 · 0 评论 -
POJ 2231 Moo Volume(规律)
POJ2231题意就是计算任意两个牛之间的距离总和,暴力的话是会超时的.所以,优化呢。。。没找到方法,无奈了,看了下题解,各种找规律啊,我去,我可是一点规律没发现啊,一组样例就可以,找规律这方面能力还是太弱啊/*POJ2231 Moo Volume完全各种规律啊,好吊的样子,我找规律的能力有待提升啊,其实也不是那么难找,毕竟高中的数学训练底子还是有点的看样例(提前排序)0~5原创 2016-06-06 19:23:01 · 884 阅读 · 0 评论 -
HDOJ 1302 具体解释(简单模拟)
题目大意:有一只蜗牛从底部向顶部爬,白天爬,晚上休息,但是下一天白天怕的速度会减慢,也就是爬的高度会减少。 //H-总高 U-初始速度 //D-下滑距离 F-速度下降的概率 先计算出每次速度下降的大小为U*F 只需要判断蜗牛什么时候到顶端,或者“低于”底部即可。 需要另输入的变量为double型的,long long或者int都会溢出。代码实现:#inclu原创 2016-03-26 22:01:28 · 697 阅读 · 0 评论 -
平面分割,空间分割问题(递推关系)(hdu1249、hdu1290、hdu2050)
由这一题可以推一类的问题,首先由直线划分区域到折线划分区域,再延伸到封闭图形划分区域,最后在推广为平面划分空间的问题。(1) n条直线最多分平面问题题目:n条直线,最多可以把平面分为多少个区域。解析: 可能你以前就见过这题目,这充其量是一道初中的思考题。 但一个类型的题目还是从简单的入手,才容易发现规律。 当有n-1条直线时,平面最多被分成了f(n-1)转载 2016-03-05 20:07:10 · 768 阅读 · 0 评论 -
POJ1694 An Old Stone Game
/*POJ1694 An Old Stone Game仍未透彻理解其算法思想啊啊啊啊题意:有一棵古老的树,树有各种叉,目标是在树根上放一个石头。有k个石头在桶里面,每次将一个石头放到树叶上,对于每个节点,只有子树上面所有的节点都放满了石头,才能在节点上放一个,然后将子树上面的石头去掉,直到在根上放了石头,让求用最少的石子达到终点条件思路:根的石头数是1,根的节点有n1,n2……nn的原创 2016-06-23 16:20:29 · 619 阅读 · 0 评论 -
垃圾陷阱(模拟\dp)
1823: 垃圾陷阱时间限制: 1 Sec 内存限制: 128 MB提交: 31 解决: 14[提交][状态][讨论版]题目描述卡门——农夫约翰极其珍视的一条Holsteins奶牛——已经落了到“垃圾井”中。“垃圾井”是农夫们扔垃圾的地方,它的深度为D (2 卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了。另外,卡门可以通过吃一些垃圾来维持自己的生命。原创 2016-08-13 10:19:23 · 482 阅读 · 0 评论 -
半数集与半数单集问题
半数集:多重集http://115.28.203.224/problem.php?id=1176#include#include#includeusing namespace std;int a[1005];int HalfSet(int n){ if(a[n] > 0) return a[n]; else {原创 2016-09-09 23:20:34 · 2846 阅读 · 0 评论 -
UVA-10881 - Piotr's Ants
Piotr's AntsTime Limit: 2 seconds"One thing is for certain: there is no stopping them;the ants will soon be here. And I, for one, welcome ournew insect overlords."Kent Brockm原创 2016-08-09 20:25:15 · 636 阅读 · 0 评论 -
HDU 2108 Shape of HDU(凸包)
思路:肯定有规律啊(因为不会凸包),这个多边形的相邻两条边的斜率是越来越小的,后一条边总是小于前一条边的斜率,有的人用叉乘来解释的,原理貌似是一样的,都是边的方向。PS:拓展一下,开始想的按照相对的点连起来的直线斜率也是符合这种规律的此时判断相对的点,就是对称的两点/*这貌似没用到凸包的经典算法啊啊啊*/#include#include#include#includ原创 2016-06-27 19:52:29 · 495 阅读 · 0 评论 -
HDU-5601 N*M bulbs(推导||规律)
N*M bulbsTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 464 Accepted Submission(s): 276Problem DescriptionN*M bulbs are in a re原创 2016-09-13 22:43:05 · 354 阅读 · 0 评论 -
POJ-3273 Monthly Expense(二分)
Monthly ExpenseTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 22803 Accepted: 8930DescriptionFarmer John is an astounding accounting wizard and has rea原创 2016-09-03 15:11:56 · 720 阅读 · 0 评论 -
HDU-5878 I Count Two Three(打表)
I Count Two ThreeTime Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 501 Accepted Submission(s): 256Problem DescriptionI will show yo原创 2016-09-18 11:36:28 · 1613 阅读 · 0 评论 -
FZU 2231 平行四边形数(几何)(思维)
Problem 2231 平行四边形数Accept: 168 Submit: 531Time Limit: 2000 mSec Memory Limit : 32768 KB Problem Description在一个平面内给定n个点,任意三个点不在同一条直线上,用这些点可以构成多少个平行四边形?一个点可以同时属于多个平行四边形。 Input原创 2016-09-05 22:01:58 · 537 阅读 · 0 评论 -
HDU 5835 Danganronpa(贪心)
DanganronpaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 215 Accepted Submission(s): 153Problem DescriptionChisa Yukizome works原创 2016-08-14 23:18:48 · 415 阅读 · 0 评论 -
HDU 2068 RPG的错排(错排与组合)
RPG的错排Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10736 Accepted Submission(s): 4358Problem Description今年暑假杭电ACM集训队第一次组成女生队,其原创 2016-05-19 21:52:39 · 534 阅读 · 0 评论 -
HDOJ2049 不容易系列之(4)——考新郎
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2049 对于此类错排题目,首先要知道错排公式 a[i]=(i-1)*(a[i-1]+a[i-2]); 然后就是计算组合c(n,m),最后再求乘积,代码如下:#includeusing namespace std;int main(){ int n,m原创 2016-03-03 17:19:15 · 551 阅读 · 0 评论 -
POJ 1012 Joseph(约瑟夫环)(枚举)
题目大意:一个n个人的约瑟夫环,每m个人一杀,k个好人,k个坏人,找出满足让k个坏人先死的最小情况m。思路:约瑟夫环的套路,每次更新环的编号。举例:代码:#include#includeusing namespace std;int main(){ int Joseph[15]={0};//打表 int k; while(~scanf("原创 2016-05-15 12:34:12 · 923 阅读 · 0 评论 -
CodeForces 628A Tennis Tournament
代码如下:#includeint main(){ int n,b,p; while(~scanf("%d%d%d",&n,&b,&p)) { printf("%d %d\n",(2*b+1)*(n-1),p*n); } return 0;}原创 2016-03-01 22:32:38 · 391 阅读 · 0 评论 -
HDOJ2045不容易系列之(3)—— LELE的RPG难题(递推)
不容易系列之(3)—— LELE的RPG难题Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 40576 Accepted Submission(s): 16258Problem Description原创 2016-01-07 21:42:40 · 827 阅读 · 0 评论 -
HDOJ-2046 骨牌铺方格(递推)
骨牌铺方格Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 44529 Accepted Submission(s): 21592Problem Description在2×n的一个长方形方格中,用一个1× 2的原创 2016-01-07 21:18:41 · 788 阅读 · 0 评论 -
素数筛法/埃拉托斯特尼筛法(sieve of Eratosthenes)——理解及具体问题
筛法求素数理解及具体问题 素数筛法的基本思想是:把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。 这里可以列举一下1~20:1 2 3 4 5 6 7 8 9 10原创 2016-04-07 11:52:31 · 2157 阅读 · 0 评论 -
UVA-12555 - Baby Me(控制精度)
链接UVA-12555斤两转化成kg,注意一下小数点后消0的操作,Yes。/*BNUOJ27888:Baby Meuva-12555 - Baby Me*/#include#include#includeusing namespace std;char str[100];int main(){ int t; cin >> t; for(i原创 2016-09-06 23:00:17 · 804 阅读 · 0 评论 -
hihocoder #1227 : The Cats' Feeding Spots(枚举)
#1227 : The Cats' Feeding Spots时间限制:1000ms单点时限:1000ms内存限制:256MB描述In Yan Yuan, the Peking University campus, there are many homeless cats. They all live happy lives becaus原创 2016-09-08 15:29:03 · 628 阅读 · 0 评论 -
codeforces gym 101142 F(思维)
链接:http://codeforces.com/gym/101142/attachments题意:折矩形纸,求最少次数折到所给大小思路:要求两种情况下的值,因为短边可能是由长边或短边折到的/*题意:折矩形纸,求最少次数折到所给大小思路:要求两种情况下的值,因为短边可能是由长边或短边折到的*/#include#include#include#includeusing原创 2016-11-03 21:34:45 · 502 阅读 · 0 评论 -
CodeForces 417C(RCC 2014 Warmup (Div. 2) C)(构造)
C. Footballtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputOne day, at the "Russian Code Cup" event it was原创 2016-09-28 18:56:21 · 797 阅读 · 0 评论 -
HDU-5583 Kingdom of Black and White(思维)
Kingdom of Black and WhiteTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2398 Accepted Submission(s): 753Problem Description原创 2016-11-06 16:30:27 · 392 阅读 · 0 评论 -
HDU-2502 月之数(简单推导)
1.n位数是n位的二进制数,所以一共有 2^(n-1) 个二进制数,每个的的第一位必须是1所以,已经有了 2^(n-1) 个1;2.再考虑每个二进制数的后n-1位数,因为是可以前导为0,所以1和0的个数最终一定是相同的,所以 2^(n-1) *(n-1)为所有的1和0的个数,除以2得到结果。所以最终结果是 2^(n-1) + 2^(n-1) *(n-1)/2打表或者直接输出原创 2016-10-03 08:38:42 · 287 阅读 · 0 评论 -
codeforces 600 A. Extract Numbers(字符串模拟)
A. Extract Numberstime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given string s. Let's call word any larg原创 2016-09-16 22:28:09 · 614 阅读 · 0 评论 -
HDU-2501 Tiling_easy version(递推)
Tiling_easy versionTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7328 Accepted Submission(s): 5702Problem Description有一个大小是 2 x原创 2016-10-03 09:16:48 · 329 阅读 · 0 评论