首页 > 其他分享 >P9838 挑战 NPC IV

P9838 挑战 NPC IV

时间:2023-11-16 20:13:55浏览次数:24  
标签:frac sum 29 NPC IV P9838 dp

挑战 NPC IV - 洛谷

  • 数据点分治诈骗好题

  • 先考虑 \(k=1\) 怎么做?可以发现 \(f(i)\) 值相同的数量我们可以轻易算出。怎么贪心?大的对小的一一匹配即可

  • 开始诈骗:考虑 \(n\in [29,10^6]\)。发现 \(f(i)\) 相同的值有很多,例如 \(f(i)=1\) 的大约有 \(\frac{n}{2}\) 个,\(f(i)=2\) 的大约有 \(\frac{n}{2^2}\) 个......因此考虑能取到最小值的排列数,显然严格大于 \(\prod\limits_{i=1}^{\log_2 n} (\frac{n}{2^i})!\) 个,发现当 \(n\) 取到 \(29\) 时这个式子就 \(> 10^{18}\) 了,因此直接用 \(k=1\) 的情况算即可

  • 那 \(n\leq 28\) 的怎么办?我们发现 \(f(1)=16,f(2)=9,f(3)=5,f(4)=3,f(5)=2,f(6)=1\),因此考虑暴力 \(dp\)。设 \(dp_{a,b,c,d,e,f,sum}\) 表示分别取了 \(a,b,c,d,e,f\) 个,和为 \(sum\) 的方案数。

标签:frac,sum,29,NPC,IV,P9838,dp
From: https://www.cnblogs.com/fox-konata/p/17837141.html

相关文章

  • abc280F - Pay or Receive(判断是否全为零环)
    https://atcoder.jp/contests/abc280/tasks/abc280_f对于每一个连通块单独处理,首先判断是否全为0环,可以用bfs判断。从一个点出发计算其他点到它的最短距离,如果存在一个不唯一,说明存在非零环。然后计算距离的时候直接-d[x]+d[y]即可#include<cstdio>#include<algorithm>#incl......
  • 一个可以拖拽缩放的div?
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><metaname="viewport"content="width=de......
  • keepalived 2.0.20 主从配置
    1、master配置!ConfigurationFileforkeepalivedvrrp_scriptcheck_nginx{script"/home/spots/keepalived/check_nginx.sh"interval2weight-20}vrrp_instanceVI_1{stateMASTERinterfaceens192virtual_router_id60pr......
  • Knative event Brokers and Triggers 事件传递模式实例
    BrokersandTriggers实例说明eventsource:gitlabsource基于MT通道的broker:defaulttriggertrigger-push->sinkevent-display-push过滤条件:dev.knative.sources.gitlab.pushtriggertrigger-tag-push->sinkevent-display-tag_push过滤条件:dev.knative.......
  • React Native开发App应用程序有哪些优缺点?
    Hello,各位同学们好,我是咕噜铁蛋!今天呢我和大家讲讲另外一种移动应用开发框架reactnative。在快节奏的市场竞争中,企业和开发者追求同时在不同平台上快速发布应用,而跨平台开发框架正是满足这一需求的理想选择之一。作为Facebook推出的开源跨平台移动应用开发框架,ReactNative自2015......
  • docker使用--gpus all报错: docker: Error response from daemon: could not select d
    报错信息:docker:Errorresponsefromdaemon:couldnotselectdevicedriver""withcapabilities:[[gpu]].解决方法:1,任意路径下创建nvidia-container-runtime-script.sh文件vimnvidia-container-runtime-script.sh拷贝下方内容到nvidia-container-runtime-script.......
  • 【pwn】[HNCTF 2022 WEEK2]pivot --栈迁移
    栈迁移的利用的过程不是很复杂,原理方面是比较麻烦:栈迁移原理介绍与应用-Max1z-博客园(cnblogs.com)这里简述一下栈迁移的利用过程:我们先来看一下这道题的程序保护情况:开了canary,接着看代码逻辑这里的printf("Hello,%s\n",buf);可以发现是可以泄露栈上的内容然后进入v......
  • activemq 配置延时队列
    conf/activemq.xml新增配置<brokerxmlns="http://activemq.apache.org/schema/core"brokerName="localhost"dataDirectory="${activemq.data}"schedulerSupport="true">jmsMessagingTemplate.convertAndSend(QUEUE,newH......
  • C++ signal(SIGFPE,handler) ignore division by 0 exception
    #include<stdexcept>#include<chrono>#include<csetjmp>#include<ctime>#include<fstream>#include<iostream>#include<iomanip>#include<signal.h>#include<sstream>#include<thread>#incl......
  • LiveCharts控件基本使用
    AngularGanuge控件 1usingSystem.Windows;2usingSystem.Windows.Forms;3usingSystem.Windows.Media;4usingLiveCharts.Wpf;5usingBrushes=System.Windows.Media.Brushes;67namespaceWinforms.Gauge.AngularGauge8{9publicpartial......