原创 經典排序算法Python實現

經典排序算法python實現 目錄 直接插入排序 二分插入排序 希爾排序 冒泡排序 快速排序 簡單選擇排序 堆排序 歸併排序 基數排序 1. 插入排序 直接插入排序 #!/usr/bin/env python # -*

原创 CodeForces-816B Karen and Coffee

CodeForces-816B Karen and Coffee 題意: 給定一些區間和查詢以及一個數k, 查詢[l, r]區間內出現了大於等於k次的區間長度的總和. 分析: 預處理區間, 給定區間的首和尾記錄下來, 在判斷

原创 CCF-20180302 碰撞的小球

CCF-20180302 碰撞的小球 題意: 一條線段上有很多小球, 小球在運動, 他們之間可以碰撞。求某時間後他們的位置。 分析: 直接進行模擬, 小球在線段上的位置當出現碰撞或者邊界直接轉換運動方向。 代碼: 100分。 #

原创 CCF-20180902 買菜

CCF-20180902 買菜 題意: 兩個人去賣菜, 在菜店和廣場來回行走, 他們在廣場上的時間是很多時間段, 求他們可以在這些時間段的交集一共是多少。 分析: 將時間按照左端點優先排序, 根據兩個時間段相交的關係可以得到他們可

原创 CCF-20180901 賣菜

CCF-20180901 賣菜 題意: 一行店鋪, 每個店鋪的菜的價格要爲與他們相鄰的菜店和自己的平均值, 求這行店鋪所有的菜店的菜的價格。 分析: 水題, 注意第一個最後一個只用算兩個店鋪的價格。 代碼: 100分。 #inc

原创 CCF-20180903 元素選擇器

CCF-20180903 元素選擇器 題意: 找出給定html文檔的對應元素所在位置。 分析: 字符串問題大模擬, CCF經典題。 代碼: 這道題只得了80分, 還在找bug。 #include <bits/stdc++.

原创 POJ-1385 Lifting the Stone 計算幾何 多邊形重心

POJ-1385 Lifting the Stone 題意: 計算多邊形的重心。 分析: 通過計算其中三角形的加權重心得到整個多邊形的重心。POJ(g++ wa, c++ ac)很迷。 代碼: #include <cstdio>

原创 HDU-3644 A Chocolate Manufacturer's Problem 計算幾何 模擬退火

HDU-3644 A Chocolate Manufacturer’s Problem 題意: 給定一個多邊形, 判斷這個多邊形中是否可以放入一個半徑爲r的圓. 分析: 發現不知從何入手時就開始模擬退火吧. 隨機找出圓心座標,

原创 POJ-3468 A Simple Problem with Integers 分塊 線段樹區間更新

POJ-3468 A Simple Problem with Integers 題意: 給定一個數字序列, 有兩張操作: 1. 查詢[L, R] 的所有數字之和。2. 給定區間[L, R] 的所有數加C. 分析: 很明顯的線段樹區

原创 CodeForces-816C Karen and Game 水題

CodeForces-816C Karen and Game 題意: 給定一個矩陣, 可以把一個全是0的矩陣通過給一行或一列加1到達這個矩形, 問方式(spical judge), 若不能輸出-1. 分析: 純暴力模擬一下, 矩

原创 CodeForces-816A A - Karen and Morning 思維

CodeForces-816A A - Karen and Morning 題意: 給定一個時間格式爲 小時:分鐘 判斷到下一個迴文時間所需要的分鐘數. 分析: 每個小時只會對應一個迴文時間(有些沒有), 打表出每一個對應的迴文時間,

原创 POJ-1379 Run Away 計算幾何 模擬退火

POJ-1379 Run Away 題意: 平面上給定n個點, 要求找到一個點使得到所有點的距離最大。 分析: 模擬退火, 計算到每個點的最小距離, 使得最小距離最大。 代碼: #include <iostream> #inc

原创 POJ-3301 Texas Trip 計算幾何 三分

POJ-3301 Texas Trip 題意: 求最大正方形覆蓋 分析: 旋轉所有的點, 統計最大和最小的x,y座標。這是一個凹函數(好像是的吧), 然後三分旋轉區間, 求解。 代碼: #include <cmath> #inclu

原创 HDU-3400 Line belt 計算幾何 三分

HDU-3400 Line belt 題意:給定兩條線段AB和CD, 在AB上的速度爲p, CD上的速度爲q,其他地方的速度爲r, 求從A->D的所需的最短時間。 分析: AB和CD上分別有一個點是滿足最小條件的, 滿足凸函數性質,可

原创 POJ-2420 A Star not a Tree? 計算幾何 模擬退火

POJ-2420 A Star not a Tree? 題意: 給定n個點, 找到一個點p. 使得p到所有點的距離之和最小. 分析: 模擬退火隨機產生圓心座標, 跑一遍模擬退火就行, 這題n的範圍是100, 莫名其妙re, 開1