1. 程式人生 > >【cqbzoj2468】反素數 (終極大水題)

【cqbzoj2468】反素數 (終極大水題)

終極大水題

時間限制: 1 Sec 記憶體限制: 128 MB

題目描述

對於任何正整數x,其約數的個數記作g (x)。例如g(1)=1, g(6)=40
如果某個正整數x滿足:g (x)>g(i), 0

輸入

一個數N

輸出

為不超過N的最大的反質數

樣例輸入

1000

樣例輸出

840

提示

【資料範圍】
1 <= N <= 2,000,000,000

解題報告

大家看到了不是我說這題水的= =
把一個數n唯一分解後得到
n=pa11+pa22+...+pakk
n得因數個數為Πki=1ai
列舉乘積r
很顯然把質因子從小到大塞給r是最優策略
所以就可以從小到大塞,暴力枚舉了。。
太弱估不出複雜度。。

程式碼

#include<cstdio>
typedef long long LL;
const int MAXN=120;
inline LL max(LL a,LL b)
{return a>b?a:b;}
inline LL min(LL a,LL b)
{return a<b?a:b;}
bool pvis[MAXN];
int prime[MAXN],ptot;
void phi(){
    int u = MAXN/2;
    for(int i=2; i<=u; i++)
        if(!pvis[i])for(int j=i+i; j<MAXN; j+=i)
            pvis[j]=true
; for(int i=2; i<MAXN; i++) if(!pvis[i])prime[++ptot]=i; } int n; LL best=0,ans=0; void dfs(int i,int v,LL mul){ //printf("at:%d %d %I64d\n",i,v,mul); if(mul>n)return ; //getchar(); if(v>best)ans=mul,best=v; else if(v==best)ans=min(mul,ans); LL nxt=mul; for
(int j=1;(nxt*=prime[i])<=n;j++) dfs(i+1,v*(j+1),nxt); return ; } int main(){ phi(); scanf("%d",&n); dfs(1,1,1); printf("%lld\n",ans); }

相關推薦

cqbzoj2468素數 終極大水

終極大水題 時間限制: 1 Sec 記憶體限制: 128 MB 題目描述 對於任何正整數x,其約數的個數記作g (x)。例如g(1)=1, g(6)=40 如果某個正整數x滿足:g (x)

LeetCode棧 stack共40

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 【20】Valid Parentheses  【42】Trapping Rain Water  【71】Simplify Path  【84】

LeetCode佇列 queue共8

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 【346】Moving Average from Data Stream  【353】Design Snake Game  【363】Max Sum of

LeetCode貪心 greedy共38

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 【44】Wildcard Matching  【45】Jump Game II  【55】Jump Game  【122】Best Time

LeetCode堆 heap共31

【23】 Merge k Sorted Lists 【215】 Kth Largest Element in an Array (無序陣列中最小/大的K個數) 給了一個無序陣列,可能有重複數字,找到第 k 個最大的元素並且返回這個元素值。 題解:直接用直接用個堆儲存陣列中最大的 K 個數。時間複雜度是

LeetCode排序 sort共20

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 【56】Merge Intervals  【57】Insert Interval  【75】Sort Colors  【147】Inserti

LeetCode字串 string共112

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 【3】Longest Substring Without Repeating Characters  【5】Longest Palindromic Substring

LeetCode抽樣 sampling共4

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px } span.

LeetCode二分 binary_search共58

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica } 【4】Median of Two Sorted Arrays  【29】Divide Two Integers  【33】Search in Rotate

1e1---1e8素數取模用

很實用的8個素數,在構造hash表的時候對素數取模可以有效的減少碰撞,若要對n個數字hash,那麼最好開10n的陣列,下面是最接近10的倍數的幾個素數,可以在比賽的時候使用對數字取模 11 101

洛谷 P2634 BZOJ 2152 模板點分治聰聰可可

sum oid 遍歷 重復 代碼 接下來 個數 石頭 col 題目描述 聰聰和可可是兄弟倆,他們倆經常為了一些瑣事打起來,例如家中只剩下最後一根冰棍而兩人都想吃、兩個人都想玩兒電腦(可是他們家只有一臺電腦)……遇到這種問題,一般情況下石頭剪刀布

JMeter學習二十九使用Jmeter創建ActiveMQ JMS POINT TO POINT請求,環境搭建、請求創建、插件安裝、監聽服務器資源等

分布式 jndi 根目錄 point 啟動 lib .cn 轉載 p2p 最近要做公司消息中間件的性能測試,第一個想到的工具就是Jmeter了,網上簡單搜了一下,基本上都是WEB測試的居多,只好自己研究官方文檔了。 其中涉及Jmeter基本的術語或者概念,請自行參考官方文檔

JMeter學習二十七Jmeter常見問題

pre 麻煩 continue 而不是 行為 let 方式 prop 右上角 收集工作中JMeter遇到的各種問題 1. JMeter的工作原理是什麽?   向服務器提交請求;從服務器取回請求返回的結果。 2. JMeter的作用?   JMeter可以用於測試

JMeter學習二十八內存溢出解決方法

不能 -xms 百度 解決 code apache 超過 軟件測試 內存 使用jmeter進行壓力測試時遇到一段時間後報內存溢出outfmenmory錯誤,導致jmeter卡死了,先嘗試在jmeter.bat中增加了JVM_ARGS="-Xmx2048m -Xms2048m

JMeter學習二十五HTTP屬性管理器HTTP Cookie Manager、HTTP Request Defaults

agen 讀取 expired fault 範圍 運行時 ear 定制 只有一個 Test Plan的配置元件中有一些和HTTP屬性相關的元件:HTTP Cache Manager、HTTP Authorization Manager、HTTP Cookie Manager

BZOJ3669Noi2014魔法森林Link-Cut Tree

沒有 力量 表示 cto ota code 描述 queue str 【BZOJ3669】【Noi2014】魔法森林(Link-Cut Tree) 題面 題目描述 為了得到書法大家的真傳,小 E 同學下定決心去拜訪住在魔法森林中的隱 士。魔法森林可以被看成一個包含 n 個節

BZOJ2816ZJOI2012網絡Link-Cut Tree

max 三種 ++i error 如果 描述 信息 logs fat 【BZOJ2816】【ZJOI2012】網絡(Link-Cut Tree) 題面 題目描述 有一個無向圖G,每個點有個權值,每條邊有一個顏色。這個無向圖滿足以下兩個條件: 對於任意節點連出去的邊中,相同顏

Poj1273Drainage Ditches網絡流

ace ring tmp scanf down std ems mar scan Description 給圖,求最大流 最大流模板題,這裏用dinic Code #include <cstdio> #include <cstring> #inclu

BZOJ4530大融合Link-Cut Tree

數據 ota mes read names 編號 ble pla str 【BZOJ4530】大融合(Link-Cut Tree) 題面 討厭權限題!!! Loj鏈接 題目描述 小強要在 N個孤立的星球上建立起一套通信系統。這套通信系統就是連接 N個點的一個樹。這個樹的邊是

BZOJ3998弦論後綴自動機

span return last log map div com inline main 【BZOJ3998】弦論(後綴自動機) 題面 BZOJ 題解 這題應該很簡單 構建出\(SAM\)後 求出每個點往後還能構建出幾個串 按照拓撲序\(dp\)一些就好了 然後就是第\(k