摘要:给出一些点坐标,问能组成多少个正方形。。。题目很简单,数据量不是很大,最容易想到的是,由于一个正方形一条边确定后,即两个点,可以根据三角形全等计算出另外两个点坐标根据此,可以把坐标由左下角向右上角的大小进行排序,然后枚举每两个点,进行bsearch另外两个点,找到cnt++,由于一个正方形可能被两组对边各计算一次,所以结果除以2即可。。。这题bs浪费时间较多,还有个办法就是把坐标hash了,借鉴了一个别人代码,用的思想是用点到源点的距离进行hash,然后再拉链解决冲突。。。bsearch枚举#include<stdio.h>#include<string.h>#incl
阅读全文
文章分类 - 各种简单题+STL+暴力枚举
摘要:题目给出一个矩形某几个坐标有数,然后给你一个给定的大小的矩形放置到里面,问如何才能让这个矩形里面的树最多...这题数据比较弱弱才100,所以首先尝试了下暴力,竟然0ms过了,还是再用树状来一遍吧,在这种数据下树状体现不出优势啊,16ms过啊啊二维树状数组其实就是更新操作时候多了一层而已,套两层循环直接就ok就是在最后求解的时候需要用到容斥定理,套用一下小媛大牛的图吧暴力枚举求解:#include <stdio.h>#include <string.h>#define N 105int map[N][N];int main(){ int n,w,h,sum,result,
阅读全文
摘要:给出两个单词的映射关系,然后输入一个单词,查找它所对应的单词,没有的话输出eh字符串映射,用stl的map可以直接实现,代码量也比较少,关键是处理输入时候,回车表示输出结束,用gets接收#include <stdio.h>#include <stdlib.h>#include <iostream>#include <cstring>#include <string>#include <map>using namespace std;int main(){ int len; char str1[12],str2[12],f
阅读全文
摘要:给出两个百分数P%,Q%,求出一个最小数m,使得m*P%-m*Q%之间有一个整数,期中P,Q两位小数题目很简单就是精度很麻烦,我第一次直接用float来做,卡到5t数据,后来他们说改用double,改了之后到21又卡了看来精度上需要特殊处理,在这里由于pq只有两位,所以可以先乘以100,最后结果时候需要/10000#include <stdio.h>#include <math.h>#include <iostream>#include <algorithm>#define IN 1e-6using namespace std;int main(
阅读全文
摘要:顺便在这里发下牢骚吧,关于这次省赛感慨挺多的,十道题答上来五道,擦边拿了个二等奖,这次比赛的靓点不是哈工大包揽了很多一等奖,而是我们被哈三中的一个队伍给狂虐了.....这帮高中整信息学竞赛的真不敢小看啊,前途无量,,,,,,,目前开始准备下搞省赛吧开始进入整体,此题目大意,给出一个字符串,首先用间隔0的开始依次选出所有的两个字母问是否有相等的,再从间隔1开始,知道最后一个从间隔len-1,在每个间隔下都没有相同的串,有就是surprise没有就not看了下数据,总共79个字母,直接暴力美剧吧,在这里我用了一个小小的字母哈希,由于只有两个字母的串,我就用26*26+26大小的空间给hash了下直
阅读全文