摘要: 直接用栈模拟即可,数组可做,但因为这节数据结构是栈,为了期末考试还是手写一下栈的操作,值得注意的是,这道题用gets函数在PTA上会编译错误,用scanf("%[^\n]", str)会有一个样例无法通过,最后我使用了string读入数据,应该是我对scanf格式化读入不够了解,有知道的朋友可以评论 阅读全文
posted @ 2018-10-03 00:01 FanJiaming 阅读(1300) 评论(0) 推荐(0)
摘要: 题目:https://cn.vjudge.net/problem/Gym-101775L PS:训练赛中被这道题折磨的不轻,和队友反复推必胜态与必败态试图推导出公式或者规律,然后推的心态逐渐失控,,,最后十分钟没辙了,队友站在一起,猜,猜一个规律出来,emmm,比赛半路中不经意听到旁边打过这场EC- 阅读全文
posted @ 2018-08-31 23:24 FanJiaming 阅读(685) 评论(4) 推荐(2)
摘要: 不小心看到一位学姐的博客,设计的真的好漂亮啊,于是决定今后用博客园了,哈哈 阅读全文
posted @ 2018-08-07 23:28 FanJiaming 阅读(114) 评论(0) 推荐(0)
摘要: 题目:点击打开题目链接 思路:从左往右扫描,定义扫描左端点L,右端点R,保证每次往几何中添加的都是符合要求的连续的数列中的元素,L和R从0扫到n,复杂度为O(n),使用set维护子数列,set查找删除都是O(logn),所以复杂度为O(nlogn),应特别注意set内并不是原子数列顺序,若要删除子数 阅读全文
posted @ 2018-07-13 18:18 FanJiaming 阅读(147) 评论(0) 推荐(0)
摘要: 题目:点击查看题目 思路:这道题的解决思路是极角扫描法。极角扫描法的思想主要是先选择一个点作为基准点,然后求出各点对于该点的相对坐标,同时求出该坐标系下的极角,按照极角对点进行排序。然后选取点与基准点形成的线对点进行扫描,基准线为遍历选取,扫描线扫过的点,减去基准线扫过的点即为所要求的点的数量。同时 阅读全文
posted @ 2018-07-12 20:43 FanJiaming 阅读(230) 评论(0) 推荐(0)
摘要: 题目:点击打开题目链接 思路:考虑第一个村庄,如果第一个村庄需要买酒,那么a1>0,那么一定有劳动力从第二个村庄向第一个村庄搬酒,这些酒可能是第二个村庄生产的,也可能是从其他村庄搬过来的,但这一布我们只考虑这一步的劳动力需求。于是,在第二个村庄,我们可以忽略第一个,视为只有编号为2-n的村庄,第二个 阅读全文
posted @ 2018-07-11 22:36 FanJiaming 阅读(157) 评论(0) 推荐(0)
摘要: 题目:点击打开题目链接 思路:为了满足所有的车不能相互攻击,就要保证所有的车不同行不同列,于是可以发现,行与列是无关的,因此题目可以拆解为两个一维问题,即在区间[1-n]之间选择n个不同的整数,使得第i个整数在区间[x, y]内,此问题可以通过贪心法解决,但需要注意选择合适的贪心策略。我的贪心方法是 阅读全文
posted @ 2018-07-11 18:01 FanJiaming 阅读(151) 评论(0) 推荐(0)
摘要: 题目:点击打开题目链接 思路:暴力循环显然会超时,根据紫书提示,采取问题分解的方法,分成A+B与C+D,然后采取二分查找,复杂度降为O(n2logn) AC代码: 阅读全文
posted @ 2018-07-11 15:38 FanJiaming 阅读(183) 评论(0) 推荐(0)
摘要: 开始碰到这个题时觉得太麻烦了直接跳过没做,现在放假了再次看这个题发现没有想象中那么麻烦,主要是题目理解要透彻,基本思路就是用结构体数组存下红方棋子,让黑将军每次移动一下,看移动后是否有一个红方棋子可以吃掉它,这样做黑将军吃子这一情况就可以完美的跳过了,因为只看不在黑将军移动后位置的棋子是否能吃掉他。 阅读全文
posted @ 2018-01-22 23:21 FanJiaming 阅读(221) 评论(0) 推荐(0)
摘要: Problem I: 源代码的格式Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 1471 Solved: 634[Submit][Status][Web Board]Description众所周知,每当讨论合理的代码格式... 阅读全文
posted @ 2018-01-05 12:43 FanJiaming 阅读(158) 评论(0) 推荐(0)