Codeforces Round #514 (Div. 2) CSequence Transformation
題目:給定1.。。n的數,每次取出一個數,然後計算剩下數中的最大公因數,這個最大公因數排成的序列得最大。woc,比賽時理解錯題意了,以為高位最大那就是最大了,沒想到他題目想表達的是,要最先出現最大數的為最大。太坑了。以後還有待做讀題訓練
思路:很好理解,不多講了。
#include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<vector> using namespace std; int n; void solve(int k,int p){ if(k==1){ printf("%d ",p); return; } if(k==2){ printf("%d %d ",p,2*p); return; } if(k==3){ printf("%d %d %d ",p,p,3*p); return; } for(int i=1;i<=(k+1)/2;i++)printf("%d ",p); solve(k-(k+1)/2,p*2); } int main(){ scanf("%d",&n); solve(n,1); }
相關推薦
Codeforces Round #514 (Div. 2) CSequence Transformation
題目:給定1.。。n的數,每次取出一個數,然後計算剩下數中的最大公因數,這個最大公因數排成的序列得最大。woc,比賽時理解錯題意了,以為高位最大那就是最大了,沒想到他題目想表達的是,要最先出現最大數的為最大。太坑了。以後還有待做讀題訓練 思路:很好理解,不多講了。 #include<c
Codeforces Round #514 (Div. 2) C. Sequence Transformation 思維構造
題意 給出一個1-n的集合 gcd 集合裡面的所有數 得到的 一個 數 然後自己選擇刪去一個數 要使得到的數 構成的數列 的字典序最大 思路: gcd所有數 那gcd得到的數肯定要小於陣列中最小的數 所以 剛開始
Codeforces Round #514 (Div. 2) C.Sequence Transformation(找規律)
題意:給定一個數字,找從1到n這n個數字的最大公約數,然後從這n個數字中去掉一個數字,使得去掉之後剩下的n-1個數字的最大公約數能比之前的大,每次都去掉一個數字,使得最大公約數能夠最快的上升。 思路:列出1到9的答案:1:1,2:12,3:113,4:1124,5:11124,6:111226,
Codeforces Round #514 (Div. 2)--C. Sequence Transformation
博主連結 題目連結 題意: 給你一個n,一共有數1~n,每次取出他們的GCD放入陣列中,並隨便刪除一個數,最後要求陣列的字典序最大。 題解: 先刪除奇數,在刪2^…次方的倍數(需要注意:比如刪2的倍數時,不能刪4的倍數,8的倍數…)並用變數記錄倒數第二輪刪的最
Codeforces Round #514 (Div. 2), problem: (C) Sequence Transformation
這個c題還挺有意思的,一開始實在是看不懂題,後來理解了,要字典序(誤)最大,就必須越快增加整個數列的gcd越好。 注意到這個數列是有序而且從1到n,那麼先假設n比較大,這個時候gcd是1,我們要刪掉最少的數讓gcd改變,最少刪掉多少呢? n範圍內,是2這個數的倍數的數
Codeforces Round #514 (Div. 2)
spec push_back ont bsp head seq pan 順序 title A. Cashier 題意:給n個時間段(不會有交叉),在總時間L下,有多少個a的時間段可以抽煙。 #include <bits/stdc++.h>
Codeforces Round #514 (Div. 2) D. Nature Reserve
nbsp clas eight -a -i 實測 bool 分享圖片 一個 http://codeforces.com/contest/1059/problem/D 最大值: 最左下方和最右下方分別有一個點 r^2 - (r-1)^2 = (10^7)^2 maxr
Codeforces Round #514 (Div. 2) E. Split the Tree(貪心+倍增)
題意:給你一棵樹,問你最多能把這棵樹分成多少條鏈,使得每條鏈的長度不超過L,每條鏈上的點的權值和不超過S。 思路:這題是參考別人的思路,等有實力了自己再試試。。。從葉子往上貪心,每一次取能達到的最長鏈,也就是儘可能走到最遠的父親那裡,這裡採用樹上倍增處理,用top記錄每個節點最遠能去哪,然後從下
Codeforces Round #514 (Div. 2) D Nature Reserve(二分)
題意:一個圓與X軸相切,問最小的半徑,使得圓包含所有給定的點。 思路:因為圓是y軸xi相切的,設半徑為R,所以圓心肯定在y=R上,以每個點為圓心作半徑為R的圓與y=R交於l和r,那麼要求的圓的圓心肯定在這個區間,那麼列舉每一個點的l和r,這樣就可以一直縮小l和r的範圍,最後如果l<r,也就
Codeforces Round #514 (Div. 2) B. Forgery
題目大意:現在給出定義:‘.’表示空白,’#‘表示墨水,在一張白紙上可以把一個33區域除中心一個方格外全染上墨水,除以對除網格的邊界以外任何網格染色。給出一個nm的區域圖案,問是否能把一張白紙(全是’.’)染成那個圖案 ### #. # ### 題目連結:htt
Codeforces Round #514 (Div. 2)--B. Forgery
博主連結 題目連結 題意: 給你一個nm的圖形,‘#’表示墨痕,問你能不能用一個33的印章蓋出這個圖形,印章只有邊有墨,中間一個格子沒墨,就是樣例的的樣子; 題解: 暴力nm64掃一遍每個點,如果這個點是‘#’,則判斷下可不可能是印章的一個點,如果有一個點不可
Codeforces Round #514 (Div. 2), problem: (A) Cashier
給定客人來的時間和要接待他們的時間,然後算出自己能夠有多少次的休息 挨個列舉每一段的空閒時間就好啦,第i段的空閒時間是 t[i] - t[i-1] - last[i-1],然後除以a求和即可。 程式碼如下: #include <bits/stdc++.h>
Codeforces Round #514 (Div. 2) A. Cashier (模擬)
題意:一個收銀員每天上L個小時的班,為了緩解壓力當他閒的時候,他每過a分鐘需要想要抽一次煙,但是在顧客來的時候不能抽菸,他知道顧客啥時候來,並且來幾分鐘,問他能抽多少次煙。 題解:一開始沒什麼思路
Codeforces Round #514 (Div. 2) D Nature Reserve(二分)
題意:一個圓與X軸相切,問最小的半徑,使得圓包含所有給定的點。 思路:因為圓是y軸xi相切的,設半徑為R,所以圓心肯定在y=R上,以每個點為圓心作半徑為R的圓與y=R交於l和r,那麼要求的圓的圓心肯定在這個區間,那麼列舉每一個點的l和r,這樣就可以一直縮小l和r的範圍,最後
Codeforces Round #514 (Div. 2) E. Split the Tree (貪心 + 樹上倍增)
題目大意:給出一棵有 n 個結點的樹,每個結點都有一個權值 w ,現在要你將這棵樹分成若干條鏈,且每個結點只能屬於一條鏈,分出來的鏈滿足每條鏈上的結點不超過L個,同時這些結點的權值和不超過S。問你最少能把這棵樹分成幾條鏈。 題目思路:由於是要使得鏈儘可能的少,所以分出來
Codeforces Round #514 (Div. 2)-D. Nature Reserve
思路:題目大意為找與x軸相切並且包含所有點的圓的最小半徑。 一,對半徑r二分,由於圓與x軸相切,圓心(x,y)中y=r,那麼只要看x是否存在即可,對於每一個點找其為圓心,半徑為r時在y=r直線上的範圍,最後看所有的點是否有公共範圍即可 二,對圓心(x,y)中x進行
【Codeforces Round #514 (Div. 2) D. Nature Reserve】 三分+推公式
HEU 大三蒟蒻一枚 有任何問題或建議都可以加Q聯絡我^_^ QQ : 986195894 CodeForces id : lajiyuan CodeForces id : biubiubiu_ Vjudge id : heu2016201206
Nature Reserve(Codeforces Round #514 (Div. 2)-1060E)(三分答案,數學)
文章目錄前言題目思路程式碼 前言 這種題沒做過,但考試時想得差不多了… 題目 CF傳送門 題目大意 現在有n個點,座標分別為(xi,yi)(x_i,y_i)(xi,yi),現在求一個最小半徑的圓,使
CodeCraft-19 and Codeforces Round #537 (Div. 2) A - Superhero Transformation
cer ase multipl 末尾 prev diff math term flag 題目描述 We all know that a superhero can transform to certain other superheroes. But not all
Codeforces Round #221 (Div. 2) D
cpp 位置 input memset ont code init cal 矩形 有點郁悶的題目,給了2000ms,可是n,m的範圍已經是5000了。5000 * 5000一般在別的OJ已經是超了2000ms,一開始不敢敲。看了下別人有n*m的潛逃循環,原來CF的機子如