杭电oj 4004---The Frog Games java解法】的更多相关文章

import java.util.Arrays; import java.util.Scanner; //杭电oj 4004 //解题思路:利用二分法查找,即先选取跳跃距离的区间,从最大到最小, //然后去中值,并依次到judgeHigh函数判断是否满足条件,然后逐步逼近最终答案 public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); while (in.has…
question:A+ B again 思路:额,没啥思路/捂脸,用java的long包里的方法,很简单,只是有几次WA,有几点要注意一下 注意:如果数字有加号要删除掉,这里用到了正则表达式“\\+”来匹配加号(我在自己的电脑里不用删除加号也可以通过,杭电oj上就过不了,必须要加这个……) source code: package hduoj; import java.util.Scanner; public class hdoj_2057 { public static void main(S…
今天总算开学了,当了班长就是麻烦,明明自己没买书却要带着一波人去领书,那能怎么办呢,只能说我善人心肠哈哈哈,不过我脑子里突然浮起一个念头,大二还要不要继续当这个班委呢,既然已经体验过就可以适当放下了吧,用心在自己的研究上.晚上级会开完也就八点多了,开始打打题,今天在HDU杭电的ACM集训题看到一个奇葩的题,前来献上. 今日推荐: <全球风暴> 一部宇宙航空和地球气候片的良心佳作,后期特效建模都是特别杠杠的大片,不会让你失望的哟,我已经三刷了哈哈哈.这部片在爱奇艺有上线,有兴趣的朋友可以看看鸭.…
暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐... 然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人 然后发现有一位作者是用网页填表然后按钮模拟,,,默默噗噗的笑了... 先来晒一下排行榜 要模拟网页,,当然POST大法好啊,直接模拟发送POST数据不就好了咩,,搞填表啥的多麻烦,完全可以写一个程序后台自动跑. 然后他说了一句AC率能达到50%以上的爬虫也是挺吊的,,于是激起了我试一试的决心(我是不是很wuliao)... 先解释一下POST大…
异或^符号,在平时的学习时可能遇到的不多,不过有时使用得当可以发挥意想不到的结果. 值得注意的是,异或运算是建立在二进制基础上的,所有运算过程都是按位异或(即相同为0,不同为1,也称模二加),得到最终结果. 特点:任何数和0异或都等于它本身;两个相同的数异或后的结果是0: 举例如下: int a = 4 =100(二进制) int b = 3 =011(二进制) int c = a^b = 111 = 7: 下面就^常用应用做个介绍: 1. 在一排数中找到独一无二的一个数 本例启发来自于杭电oj…
暑假集训主要是在杭电oj上面刷题,白天与算法作斗争,晚上望干点自己喜欢的事情! 首先,确定要爬取哪些数据: 如上图所示,题目ID,名称,accepted,submissions,都很有用. 查看源代码知: 所有的数据都在一个script标签里面. 思路:用beautifulsoup找到这个标签,然后用正则表达式提取. 话不多说,上数据爬取的代码: import requests from bs4 import BeautifulSoup import time import random imp…
杭电oj并没有反爬 所以直接爬就好了 直接贴源码(参数可改,循环次数可改,存储路径可改) import requests from bs4 import BeautifulSoup import time def write_in_file(number,string):#output function with open ('D:\\python\\python_code\\hdoj\\'+str(number)+".txt","a+",encoding='utf…
杭电acm 提交代码需要注意的问题 1. 用 Java 的时候类名请用 Main 2. Java 提交出现 PE 的可能原因有 1) 最基本的错误是空格问题,比如注意每行的末尾是否输出空格 2) 用 Java 提交的时候需要注意换行是用的什么方法输出的,如果用 System.out.printf() 这个格式化输出,请使用 %n 或者 \r\n 作为转义符,而不要用 \n,也可以用 System.out.println() 输出换行   3. 对包含比较精确的数字计算最好使用 C/C++ 语言,…
呕,大一下学期的第一周结束啦,一周过的挺快也挺多出乎意料的事情的~ 随之而来各种各样的任务也来了,嘛毕竟是大学嘛,有点上进心的人多多少少都会接到不少任务的,忙也正常啦~端正心态 开心面对就好啦~ 今天突然回顾了一下<从你的全世界路过>这本书和电影,莫名的感悟涌上心头,收集到了一些走入人心的一些语句: 1.在季节的车上,如果你要提前下车,请别推醒装睡的我,这样我可以沉睡到终点,假装不知道你已经离开. 2.世事如书,我偏爱你这一句,愿做个逗号,待在你脚边.但你有自己的朗读者,而我只是个摆渡人. 3…
主题 Calculate a + b 杭电OJ-1000 Input Each line will contain two integers A and B. Process to end of file. Output For each case, output A + B in one line. Mine #include <stdio.h> int main() { int a,b; while(~scanf("%d %d",&a,&b)) //多次…
畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可).问最少还需要建设多少条道路?    Input 测试输入包含若干测试用例.每个测试用例的第1行给出两个正整数,分别是城镇数目N ( < 1000 )和道路数目M:随后的M行对应M条道路,每行给出一对正整数,分别是该条道路直接连通的两个…
Quoit Design Problem Description Have you ever played quoit in a playground? Quoit is a game in which flat rings are pitched at some toys, with all the toys encircled awarded. In the field of Cyberground, the position of each toy is fixed, and the ri…
今天开始和一个认识的学弟刷题. 学弟是个大牛,我还是个菜鸟.嘿嘿. 杭电第一题我就wrong了好几次. #include <iostream> using namespace std; int main() { ,B = ; while(cin >> A >> B) { cout<< A + B << endl; } ; } #include <iostream> using namespace std; int main() { ,…
question:Super Jumping! Jumping! Jumping! 意思就是找一串数字中的和最大子串 思路:创建另一个数组,每一项是路径数组对应项之前最大子串的和,然后遍历此数组找出最大值即可(也是参考了别人的博客,下面是链接,这是接触的第一道dp题,希望慢慢的自己也会写!) 原文链接 source code: package hduoj; import java.util.Scanner; public class hdoj_1087 { public static void…
question:分拆素数和 思路: 1.首先从1一直遍历到数据的1/2位置(因为后面的会和前面的重复),因为是要两个数,所以另一个数就是原数据减去遍历的数字(即i 和data-i),如果二者同时为质数的话,分拆方法计数器就加一,最后输出计数器即可 2.关于如何判断质数,其实就是找约数,数本身不用管,如果其余约数只有1.则为质数,最笨的方法就是从1到数据大小的遍历,这样太费时间 关于优化: a.首先偶数不可能为质数,先一步排除 b.然后遍历的时候上限为该数的平方根(具体原因不记得了/捂脸) c.…
problem:统计单词数 思路:利用HashMap的特性——不能反复存储同一个键得数据,所以可以保证map里边儿的元素都是不重复的,存储完毕之后直接输出size就好了 注意事项: 1.利用string类的方法split()时,要用正则表达式“ +”来匹配,否则有三个连续空格以上的话,空格会占一个位子 2.hashmap为空的时候返回的是-1而不是0,所以如果字符串为空的时候,要单独考虑 source code: package hduoj; import java.util.HashMap;…
Monkey and Banana Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6866 Accepted Submission(s): 3516 Problem Description A group of researchers are designing an experiment to test the IQ of a monkey…
Prime Ring Problem Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 23458    Accepted Submission(s): 10465 Problem Description A ring is compose of n circles as shown in diagram. Put natural numb…
A + B Again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15358    Accepted Submission(s): 6700 Problem Description There must be many A + B problems in our HDOJ , now a new one is coming. Gi…
</pre><h1 style="color: rgb(26, 92, 200);">An easy problem</h1><strong><span style="color: green; font-family: Arial;">Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tot…
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2058 思路:等差数列公式变形:sum = a1 * len + len *(len -1)/2 抽象成一句话就是本题的思路:根据数列的长度和数列的和就可以算出首项,因为知道长度,所以区间就出来了(看了好多博客,都没说清楚,晕我一大天……) 然后由式子的变形(2*a1 + len -1)*len  = 2 *sum可得len绝对小于Sqrt(2*sum),因为a1>=1故len-1+2*a1>len…
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2035 思路:(网上学来的,偏向数学的不咋懂/捂脸)每次乘法的时候都取后三位(可能有些含糊,直接看代码吧,一看就懂) source code: package hduoj; import java.util.Scanner; public class hdoj_2035 { public static void main(String[] args) { Scanner sc = new Scanne…
question:小数化分数2 思路: /** * 这道题没有整数部分(有也无所谓,算小数部分,算完了分子分母按倍数加上就好),也就是说数组直接从a[2]开始后面是小数,我把这道题分为了三类: * * ①普通有限小数 * * ②纯循环小数 * * ③混循环小数 * * 下面就挨个说它的转化方法: * * ①这一类很简单,分子就是小数点后面的数,分母就是10的n次方(n为小数点后面位数) * * ②这个小学学奥数的时候老师讲过,也不是很难:分子是循环的数,分母就是和它位数相同的9,比如0.(14)…
What Is Your Grade? Problem Description “Point, point, life of student!” This is a ballad(歌谣)well known in colleges, and you must care about your score in this exam too. How many points can you get? Now, I told you the rules which are used in this co…
Tips:贪心算法的典型应用,可以按照节目结束时间由小到大排序,(至于结束时间相同的,有些人说按开始时间早的排序,不过个人认为不必处理,因为结束时间一样,两个之中要么都没有,要么必有一个)然后再依次进行判断看是否能加入到结果集中. /**贪心算法,按节目结束时间排序*/ #include<iostream> using namespace std; int main() { int n; ) { ],te[],t; ; //输入数据 ;i < n;i++) { cin>>ts…
Tips:本题采用贪心算法,类似于背包问题,关键在于读入数据之后,将数据按 J[i]/F[i] 从大到小排列即可. /**本程序主要采用贪心算法思想,类似于背包问题*/ #include<stdio.h> #include<string.h> int main() { int M,N; while(scanf("%d %d",&M,&N)) { && N == -) { ; } ]={},F[]={}; double sum =…
Tips:可以先将输入的字符串全部转化为小写字母,然后再将元音字母变为大写,时间复杂度O(n) #include<stdio.h> #include<string.h> #include<ctype.h> int main() { int T; scanf("%d",&T); getchar(); while(T--) { ]; gets(ch); //先全部变为小写字母 ;j<strlen(ch);j++) { ch[j] = tol…
Tips:字符在计算机中都是以ASCII码形式保存,直接以char形式输出ASCII码即可. #include<stdio.h> int main() { int T; scanf("%d",&T); int a[T]; ;i < T;i++) { scanf("%d",&a[i]); } ;i < T;i++) { printf("%c",a[i]); } ; }…
Tips:本题中没有任何难度,直接按普通逻辑进行计算即可. #include<stdio.h> #include<string.h> ]={'A','B','C','D','E','F','G', 'H','I','J','K','L','M','N', 'O','P','Q','R','S','T', 'U','V','W','X','Y','Z'}; int locate(char c) { //找出字符在字母表的位置 ;i < ;i++) { if(c == ch[i]…
Tips:本程序没有什么难度,只要按照逻辑进行替换即可,需要注意的是,由于输入串中含有空格符号,所以不能使用scanf("%s",ch);来读取一串,可以使用gets()函数读取一行字符. #include<stdio.h> #include<string.h> int main() { ]; while(gets(ch))//不能使用sacnf("%s,ch),因为遇见空格就会结束读入 { if(*ch == '#') { ; } ]; ; ; i&…