- 博客(10)
- 收藏
- 关注
原创 PTA 水果忍者
水果忍者/*思路首先要知道确定多线段的公共直线最好的方法是先固定一点,然后检查是否存在直线通过其余线段。(先把所有线段按x排一次顺序),然后逐个遍历线段,这条遍历的线段上的低端点作为答案直线的第一个点,以该端点坐标来逐个计算其到其他线段端点的斜率范围,一开始默认斜率范围为最大与最小,也就是maxy和miny初始最大最小,然后通过每次计算其到其他线段端点的斜率范围来逐渐缩小这个范围:如果其中有超出范围的说明无法与这个线段构成线,就选下一条线段的端点作为第一个点重新开始算法;如果都满足,那么答案直
2020-06-28 13:42:18 655
原创 PTA 加密数
有一个32位的int型的整数是一个加密数,它实际表示为另一个数,即将该数从高位至低位的每8位作为一个数(无符号)进行求和后的数。如:65920,其在计算机内的二进制数表示为:00000000 00000001 00000001 10000000则该加密数表示为:0+1+1+128=130现有一组这样的数,将其解密后输出。#include<iostream>#include...
2020-02-23 16:29:23 1181
原创 C++快速读入
使用慢cin不行,scanf不行,getchar快读不行,需要更快的fread方法#include<iostream>#include<cstring>using namespace std;namespace fastIO { #define BUF_SIZE 100000 //fread -> read bool IOerror = 0; inli...
2020-02-21 23:49:00 292
转载 ACM Java BigInteger
大数运算之 Java BigInteger 的基本用法在程序设计竞赛中会遇到高精度运算的问题,C++没有高精度运算,只能手动模拟人工运算,手动实现高精度,而 java.math 包中的 BigInteger 提供了高精度的基本运算,因此竞赛中常用 Java 解决高精度运算问题。本文链接: http://wutao18.github.io/2019/08/15/大数运算之-Java-BigInt...
2019-08-30 19:12:23 128
原创 A - Colored Sticks POJ - 2513 trie树+并查集+欧拉回路
使用trie树的特性高效统计同一种颜色出现了多少次,使用并查集将同一块砖的两种颜色连续起来,最终要形成一条直线,意思就是要根据颜色把每块砖都走一遍,也就是欧拉回路或者欧拉路的性质,也就是每个颜色出现的次数必须都是偶数次或者正好有两种颜色次数是奇数次,最后根据并查集的性质可以查看是不是只有一张图,如果出现了一种以上的根节点也不行。#include<iostream>#incl...
2019-08-08 00:51:26 190
原创 A - Sequence POJ - 2442 暴力尝试+优先队列更新n个最小
#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<queue>using namespace std;int a[2100],b[2100];int t,n,m,k;int main(){ scanf("%...
2019-08-07 15:34:18 101
原创 PTA 7-100 畅通工程之局部最小花费问题 (35 分)
7-100 畅通工程之局部最小花费问题 (35 分)某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路相连,只要互相间接通过快速路可达即可)。现得到城镇道路统计表,表中列出了任意两城镇间修建快速路的费用,以及该道路是否已经修通的状态。现请你编写程序,计算出全地区畅通需要的最低成本。输入...
2019-03-01 01:01:45 203
原创 PTA 7-45 笛卡尔树 (25 分)
7-45 笛卡尔树 (25 分)笛卡尔树是一种特殊的二叉树,其结点包含两个关键字K1和K2。首先笛卡尔树是关于K1的二叉搜索树,即结点左子树的所有K1值都比该结点的K1值小,右子树则大。其次所有结点的K2关键字满足优先队列(不妨设为最小堆)的顺序要求,即该结点的K2值比其子树中所有结点的K2值小。给定一棵二叉树,请判断该树是否笛卡尔树。输入格式:输入首先给出正整数N(≤1000),为树中结点...
2019-02-19 02:10:04 504
原创 PTA 7-41 Windows消息队列 (25 分)(map)
7-41 Windows消息队列 (25 分)消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队列中获取消息。输入格式:输入首先给出正整数N(≤...
2019-02-18 16:09:39 711
原创 PTA 7-40 朋友圈 (25 分)(并查集)
PTA 7-40 朋友圈 (25 分)某学校有N个学生,形成M个俱乐部。每个俱乐部里的学生有着一定相似的兴趣爱好,形成一个朋友圈。一个学生可以同时属于若干个不同的俱乐部。根据“我的朋友的朋友也是我的朋友”这个推论可以得出,如果A和B是朋友,且B和C是朋友,则A和C也是朋友。请编写程序计算最大朋友圈中有多少人。输入格式:输入的第一行包含两个正整数N(≤30000)和M(≤1000),分别代表学...
2019-02-18 14:45:17 419
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人