首页 > 其他分享 >UER#6 寻找罪犯

UER#6 寻找罪犯

时间:2023-10-13 17:48:41浏览次数:32  
标签:条和后 嫌疑人 证词 寻找 条是 罪犯 真的 供词 UER

以后推半天性质还是很模糊的话,也尝试尝试直接套算法。。

算法导向!2-SAT!

强行 2-SAT 的话,我们会有以下约束:

  • 若一个嫌疑人的供词中存在一个假话,他必然是犯人。
  • 若一个嫌疑人的供词中存在一个假话,其它话必然是真的。
  • 若一个嫌疑人不是犯人,他说的所有话一定都是真的。

此时暴力连边图的规模是 \(O(m^2)\) 的。考虑优化第二个约束。

把【其它话】套路地拆成前后缀,优化建图即可。具体而言:

  • 若第 \(i\) 条供词是假的,则前 \(i-1\) 条和后若干条都是真的,前 \(i\) 条和后对应条是假的。
  • 若前/后 \(i\) 条是真的,则前/后 \(i-1\) 条也是真的,第 \(i\) 条也是真的。
  • 若前/后 \(i\) 条是假的,则前/后 \(i+1\) 条也是假的。

为了建图方便,不妨把证词的正确性也拆成两个点,此时设第 \(i\) 个嫌疑人一共有 \(k\) 条证词,我们会对其证词开 \(6k\) 个点,分别表示前缀/后缀/第 \(i\) 证词是否正确。

标签:条和后,嫌疑人,证词,寻找,条是,罪犯,真的,供词,UER
From: https://www.cnblogs.com/ydtz/p/17762690.html

相关文章

  • UER #6 逃跑
    设总方案数为\(all=(w_1+w_2+w_3+w_4)^n\)种,第\(i\)个方案经过的不同位置个数为\(d_i\),则有:\[V\timesall=\sum(d_i-\overlined)^2\timesall=(\sumd_i^2+all\times\overlined^2-2\overlined\sumd_i)\timesall\]由于\(\overlined=\frac{\sumd_i}{all}\),故有......
  • cadquery装配教程(1)
    代码 绘制出的图形DXF图形截图 用到的函数.sketch() 在当前界面创建一个草图importers.importDXF()导入2D图用于建模 .finalize() 一般用于.sketch(),结束草图.返回元素用于拉伸. ......
  • 在jQuery中如何检查一个复选框是否被选中?
    内容来自DOChttps://q.houxu6.top/?s=在jQuery中如何检查一个复选框是否被选中?我需要检查复选框的checked属性,并根据该属性使用jQuery执行操作。例如,如果age复选框被选中,那么我需要显示一个文本框以输入age,否则隐藏该文本框。但是以下代码默认返回false:if($('#isAgeSelec......
  • java项目使用Mybatis-Plus插件,QueryWrapper日期开始-结束范围查询
    1、参数开始日期startTime、结束日期endTime挺好用,开始日期、结束日期当天都包含进去了,如果使用qw.between("create_time",startTime,endTime)方法是不含endTime结束日期当天的qw.apply(bCulresCardMvVO.getStartTime()!=null,"date_format(create_time,......
  • jQuery能做到,PHP能做到,C#也能做到
    题目有些大,但文中谈到的问题很小;看似表扬C#,实际不是。这个小问题来自这样的应用场景——以HTTPPOST的方式调用第三方API,第三方API不支持JSON传参,只能通过URLquerystring方式传参(a=1&b=2)。假设API的地址是https://www.clw9335.com/gl/index-htm-page-9.html,需要传递的参数是us......
  • noip赛前20天冲刺集训 day2 ###寻找有向图中的最小疲惫路径###
    T1###寻找有向图中的最小疲惫路径###题目描述有一张n个点m条边的有向图,每条边上有一个正整数边权,你要顺着图上的有向边从1号点走到n号点。假设你经过的边边权依次为(w_1,w_2,\dots,w_t),则你的疲惫程度为\[\f(w)=\max_{i=1}^{t}w_i\timesi\,.\]你需要找到最......
  • 给url的query传参时的奇妙现象
    如果你要传一个时间参数,那么要小心啦!这个问题看得我头疼。见下面例子:letstart_time="23-10-1000:00:00"leturlTo=`/syslog?start_time=${start_time}`好的,要执行跳转了。此时urlTo在浏览器url栏中会变成:/syslog?start_time=2023-10-10%2000:00:00也就是空格变成了%20。......
  • django model 条件过滤 queryset.filter详细用法
    条件选取querySet的时候,filter表示=,exclude表示!=。querySet.distinct()去重复__exact精确等于like'aaa'__iexact精确等于忽略大小写ilike'aaa'__contains包含like'%aaa%'__icontains包含忽略大小写ilike'%aaa%',但是对于sqlite来说,contains的作用效果等同......
  • jquery uploadify动态更新配置参数方法uploadifySettings()
    1.使用scriptData给后台传参数的时候,必须声明'method':'GET',因为默认是POST2.$("#uploadify").uploadifySettings('scriptData',{'name':'liudong','age':22});动态更新配置参数$("#uploadify&quo......
  • jquery取redio、checkbox、select的值
    从jQuery1.3开始,前导的@符号已经被废除redio//取值varitem=$("input[name=radio_name]:checked").val();或$("input[name='radio_name']:checked").val();或$("[name='radio_name'][checked]").......